Ich versuche, meine PHP -Dev -Umgebung auf meinen Laptop zu bringen, der fsockopen () mit einer SSL: // (oder TLS: //) -Socket -Verbindung unterstützt, also ist dies mein Endziel. Derzeit bekomme ich: < /p>
fsockopen(): unable to connect to ssl://example.com:443 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)
< /code>
Unterstützung für eine TLS -Verbindung führt mich dazu, OpenSSL mit PHP und den von Phpinfo () gemeldeten 'registrierten Stream -Socket -Transporten' zu erweitern, um nur von 'TCP, UDP' bis 'TCP, UDP, UNIX, UDG, SSL, TLS, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV. tlsv1.3 '. Ich musste auch GD und Sockets zum Laufen bringen. Das sind also 3 Erweiterungen, die sie in Php hinzufügen können: < /p>
[*] OpenSSL < /li>
Gd < /li>
< /li>
< /ol>
< /> < /ol>
< /ul>
Ich verwende keine multiple Version (zu diesem Zeitpunkt), daher soll das obige einfach die Verzeichnisstruktur erklären und warum alles nicht einfach unter c: \ php ist. Alles hier konzentriert sich nur auf 7.4.33, und so ist die PHP-Wurzel C: \ Php \ Php7-4-33, außer dem Unterverzeichnis von 7-4-44-Versionen lebt in C: \ Php. Dies sollte "angeblich" helfen, die Versionen zu wechseln. Es ist alles aus der offiziellen Quelle, die als einzelne vorgefertigte Zip bereitgestellt wird. Phpinfo () meldet das System als: "Build 26100 (Windows 10) AMD64". Der Betriebssystem ist in der Tat 26100.3476, aber das ist Win11, nicht Win10, und es ist auf Intel i7-1165g7, nicht auf AMD. Vermutlich 'ein Feature' von phpinfo ()! /> Erweiterung = OpenSSL < /li>
Erweiterung = Sockets < /li>
< /ul>
Httpd.conf definiert: < /p>
PHPIniDir "c:\php"
LoadModule php7_module "c:\php\php7apache2_4.dll"
And phpinfo() reports/confirms:
Configuration File (php.ini) Path - no value
Loaded Configuration File - C:\php\php.ini
extension_dir - C: \ php \ php7-4-33 \ ext < /li>
GD -Unterstützung - aktiviert < /li>
Sockets Unterstützung - aktiviert < /li>
< /ul>
Was das sagt, ist, dass es ist, dass ... < /p>
APache ist die korrigieren die korrekte Ladung. Die falsche Datei < /li>
Das Verlängerungsverzeichnis ist ordnungsgemäß konfiguriert. < /li>
Sowohl GD als auch Sockets aus diesem \ ext -Verzeichnis werden ordnungsgemäß geladen und ordnungsgemäß aktiviert.
PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\php7-4-33\\ext\\openssl (The specified module could not be found.), c:\\php\\php7-4-33\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0
Der Pfad ist also korrekt und zum gleichen \ ext -Verzeichnis wie GD und Sockets, die beide laden und aktiviert sind. /> php_ini_loadd_file () Berichte C: \ php \ php.ini (richtig)
Erweiterung_Load ('OpenSSL') Berichte OpenSSL IS Nicht geladen
Extension_LOADED ('BRODED (' BRODED ('BRODED (' BRODED ('SOCKETED (' SOCKETS ')) berichtet (' Sockets '). /> get_loaded_extensions () bestätigt GD und Sockets werden geladen, während OpenSSL fehlt < /li>
< /ul>
Alle 3 Erweiterungen befinden sich im selben Verzeichnis: < /p>
Directory of c:\php\php7-4-33\ext
18/03/2025 11:47 .
07/03/2025 13:49 ..
07/03/2025 13:48 86,016 php_bz2.dll
07/03/2025 13:48 89,600 php_com_dotnet.dll
07/03/2025 13:48 559,616 php_curl.dll
07/03/2025 13:48 148,992 php_dba.dll
07/03/2025 13:48 24,064 php_enchant.dll
07/03/2025 13:48 72,704 php_exif.dll
07/03/2025 13:48 159,744 php_ffi.dll
07/03/2025 13:48 5,710,336 php_fileinfo.dll
07/03/2025 13:48 53,760 php_ftp.dll
07/03/2025 13:48 1,691,648 php_gd2.dll Hinzufügen 'C: \ php; c: \ php \ php7-4-33; c: \ php \ php7-4-33 \ ext;' zur Pfadvariable < /li>
Überprüfen der Berechtigungen auf OpenSSL.dll v-Sockets C: \ php \ php7-4-33 \ ext \ php_opensl.dll in (sagen wir) notepad, um zu beweisen, dass die Datei da ist und lesbar < /li>
Definiert die OpenSL_CONF-Variable als c: \ Programmdateien \ häufige Dateien \ SSL. libcrypto-1_1-x64.dll und libsl-1_1-x64.dll sind in C: \ php \ php7-4-33 \ < /li>
< /ol>
Die offensichtliche Sache ist: Sie haben nicht Ihre Erweiterungen. Richtig [/b] und [b] können [/b] geöffnet werden
[*] Gd und Sockets im gleichen Verlängerungen Verzeichnis [b] laden Sie [/b] und sind aktiviert
[/list]
Zitat nur den 'Standard' c: \ php \ extpath < /p>
[code]PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\ext\\openssl (The specified module could not be found.), c:\\php\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0
PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
< /code>
php -i Berichte: < /p>
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.1s 1 Nov 2022
OpenSSL Header Version => OpenSSL 1.1.1s 1 Nov 2022
Openssl default config => C:\Program Files\Common Files\SSL
< /code>
PHP - -ini Berichte < /p>
PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
Configuration File (php.ini) Path:
Loaded Configuration File: C:\php\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
< /code>
Hinzufügen < /p>
allow_url_include = On
< /code>
war ein anderer 'Dies passt zu ihm' Ratschläge ... aber wie es sich auf OpenSSL beziehen könnte, ist mir ein Rätsel. Es hat nicht funktioniert und erscheint tatsächlich veraltet, so dass das gehen kann.
php.ini definiert < /p>
extension=openssl
< /code>
Aber dann < /p>
c:\php>php --ini
Configuration File (php.ini) Path:
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
c:\php>php -r "var_dump(extension_loaded('openssl'));"
bool(false)
Dies richtet sich mit dem Apache -Ladefehler, der Ausgabe von phpinfo () , dem Ergebnis von uswutdelaLode ('openSSL') und Ausgabe von get_loaded_extensions () Apache -Log -Berichte
PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\php7-4-33\\ext\\openssl (The specified module could not be found.), c:\\php\\php7-4-33\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0
Aber dieser ist der richtige Weg zu OpenSSL.dll! Vielleicht ist es der PHP, der schlecht ist? />
Erweiterung = GD (als php8 wird einfach die Erweiterung umbenannt) < /li>
Erweiterung_dir = "C: \ php \ php7-4-33 \ ext" zu < /li>
Erweiterung_dir = " httpd.conf changed:
LoadModule php_module "C:\php\php8-3-3\php8apache2_4.dll" (note: not php8_module) < /li>
< /ul>
und apache neu gestartet. 7.4.33 jetzt 8.3.3 und OpenSSL Working und Registrierte Stream -Socket Transports Now "TCP, UDP, SSL, TLS, TLSV1.0, TLSV1.1, TLSV1.2, TLSV1.3". Dies hilft mir nicht, einen funktionierenden PHP7 zu erhalten, aber es weist darauf hin, dass der PHP -Download das Problem ist. Als nächstes versuchen Sie ... < /p>
PHP -Versionsexperimente < /H2>
Nachdem ich mit OpenSSL unter Php 8.3.3 keine weiteren Versionsexperimente durchgeführt habe, habe ich kein Problem mit OpenSSL. Ich habe weitere Versionsexperimente durchgeführt. />7.3.4 ist das gleiche < /li>
7.4.33 ist dort, wo ich gestartet habe, und das gleiche < /li>
8.3.3 Alle Arbeiten sind alle Arbeiten < /li>
8.4.4 berichtet keine Probleme, aber Apache geht in einen endlosen Neustartzyklus. Dies wird behauptet, hier zu behoben: Apache -Fehler [Hinweis] Eltern: Child Process mit dem Status 3221225477 - Neustart ... aber kein Glück mit dieser Lösung. Apache zykliert immer noch! Dieser Artikel Apache Crashing: Elternteil: Child Process mit dem Status 3221225477 - Neustart lautet, dass 3221225477 0xc00005 in Hex ist, übersetzt in Verstöße gegen den Speicherzugriff und wahrscheinlich ein Php -Fehler! />https://windows.php.net/downloads/releases/ und
Ich versuche, meine PHP -Dev -Umgebung auf meinen Laptop zu bringen, der fsockopen () mit einer SSL: // (oder TLS: //) -Socket -Verbindung unterstützt, also ist dies mein Endziel. Derzeit bekomme ich: < /p> [code]fsockopen(): unable to connect to ssl://example.com:443 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) < /code> Unterstützung für eine TLS -Verbindung führt mich dazu, OpenSSL mit PHP und den von Phpinfo () gemeldeten 'registrierten Stream -Socket -Transporten' zu erweitern, um nur von 'TCP, UDP' bis 'TCP, UDP, UNIX, UDG, SSL, TLS, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV1.1, TLSV1.0, TLSV. tlsv1.3 '. Ich musste auch GD und Sockets zum Laufen bringen. Das sind also 3 Erweiterungen, die sie in Php hinzufügen können: < /p>
[*] OpenSSL < /li> Gd < /li> < /li> < /ol> < /> < /ol> < /ul> Ich verwende keine multiple Version (zu diesem Zeitpunkt), daher soll das obige einfach die Verzeichnisstruktur erklären und warum alles nicht einfach unter c: \ php ist. Alles hier konzentriert sich nur auf 7.4.33, und so ist die PHP-Wurzel C: \ Php \ Php7-4-33, außer dem Unterverzeichnis von 7-4-44-Versionen lebt in C: \ Php. Dies sollte "angeblich" helfen, die Versionen zu wechseln. Es ist alles aus der offiziellen Quelle, die als einzelne vorgefertigte Zip bereitgestellt wird. Phpinfo () meldet das System als: "Build 26100 (Windows 10) AMD64". Der Betriebssystem ist in der Tat 26100.3476, aber das ist Win11, nicht Win10, und es ist auf Intel i7-1165g7, nicht auf AMD. Vermutlich 'ein Feature' von phpinfo ()! /> Erweiterung = OpenSSL < /li> Erweiterung = Sockets < /li> < /ul> Httpd.conf definiert: < /p> PHPIniDir "c:\php" LoadModule php7_module "c:\php\php7apache2_4.dll" [/code] And phpinfo() reports/confirms: [list] Configuration File (php.ini) Path - no value [*]Loaded Configuration File - C:\php\php.ini [*]extension_dir - C: \ php \ php7-4-33 \ ext < /li> GD -Unterstützung - aktiviert < /li> Sockets Unterstützung - aktiviert < /li> < /ul> Was das sagt, ist, dass es ist, dass ... < /p>
APache ist die korrigieren die korrekte Ladung. Die falsche Datei < /li> Das Verlängerungsverzeichnis ist ordnungsgemäß konfiguriert. < /li> Sowohl GD als auch Sockets aus diesem \ ext -Verzeichnis werden ordnungsgemäß geladen und ordnungsgemäß aktiviert.[code]PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\php7-4-33\\ext\\openssl (The specified module could not be found.), c:\\php\\php7-4-33\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0 [/code] Der Pfad [b] ist also korrekt [/b] und zum gleichen \ ext -Verzeichnis wie GD und Sockets, die beide laden und aktiviert sind. /> php_ini_loadd_file () Berichte C: \ php \ php.ini (richtig) [*] Erweiterung_Load ('OpenSSL') Berichte OpenSSL IS [b] Nicht [/b] geladen [*] Extension_LOADED ('BRODED (' BRODED ('BRODED (' BRODED ('SOCKETED (' SOCKETS ')) berichtet (' Sockets '). /> get_loaded_extensions () bestätigt GD und Sockets werden geladen, während OpenSSL fehlt < /li> < /ul> Alle 3 Erweiterungen befinden sich im selben Verzeichnis: < /p> [code] Directory of c:\php\php7-4-33\ext
18/03/2025 11:47 . 07/03/2025 13:49 .. 07/03/2025 13:48 86,016 php_bz2.dll 07/03/2025 13:48 89,600 php_com_dotnet.dll 07/03/2025 13:48 559,616 php_curl.dll 07/03/2025 13:48 148,992 php_dba.dll 07/03/2025 13:48 24,064 php_enchant.dll 07/03/2025 13:48 72,704 php_exif.dll 07/03/2025 13:48 159,744 php_ffi.dll 07/03/2025 13:48 5,710,336 php_fileinfo.dll 07/03/2025 13:48 53,760 php_ftp.dll 07/03/2025 13:48 1,691,648 php_gd2.dll Hinzufügen 'C: \ php; c: \ php \ php7-4-33; c: \ php \ php7-4-33 \ ext;' zur Pfadvariable < /li> Überprüfen der Berechtigungen auf OpenSSL.dll v-Sockets C: \ php \ php7-4-33 \ ext \ php_opensl.dll in (sagen wir) notepad, um zu beweisen, dass die Datei da ist und lesbar < /li> Definiert die OpenSL_CONF-Variable als c: \ Programmdateien \ häufige Dateien \ SSL. libcrypto-1_1-x64.dll und libsl-1_1-x64.dll sind in C: \ php \ php7-4-33 \ < /li> < /ol> Die offensichtliche Sache ist: Sie haben nicht Ihre Erweiterungen. Richtig [/b] und [b] können [/b] geöffnet werden [*] Gd und Sockets im gleichen Verlängerungen Verzeichnis [b] laden Sie [/b] und sind aktiviert [/list]
Zitat nur den 'Standard' c: \ php \ extpath < /p>
[code]PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\ext\\openssl (The specified module could not be found.), c:\\php\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0 PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0 < /code> php -i Berichte: < /p> openssl
OpenSSL support => enabled OpenSSL Library Version => OpenSSL 1.1.1s 1 Nov 2022 OpenSSL Header Version => OpenSSL 1.1.1s 1 Nov 2022 Openssl default config => C:\Program Files\Common Files\SSL < /code> PHP - -ini Berichte < /p> PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0 Configuration File (php.ini) Path: Loaded Configuration File: C:\php\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none) < /code> Hinzufügen < /p> allow_url_include = On < /code> war ein anderer 'Dies passt zu ihm' Ratschläge ... aber wie es sich auf OpenSSL beziehen könnte, ist mir ein Rätsel. Es hat nicht funktioniert und erscheint tatsächlich veraltet, so dass das gehen kann. php.ini definiert < /p> extension=openssl < /code> Aber dann < /p> c:\php>php --ini Configuration File (php.ini) Path: Loaded Configuration File: (none) Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
c:\php>php -r "var_dump(extension_loaded('openssl'));" bool(false) [/code] Dies richtet sich mit dem Apache -Ladefehler, der Ausgabe von phpinfo () , dem Ergebnis von uswutdelaLode ('openSSL') und Ausgabe von get_loaded_extensions () Apache -Log -Berichte [code]PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: c:\\php\\php7-4-33\\ext\\openssl (The specified module could not be found.), c:\\php\\php7-4-33\\ext\\php_openssl.dll (The specified module could not be found.)) in Unknown on line 0 [/code] Aber dieser [b] ist [/b] der richtige Weg zu OpenSSL.dll! Vielleicht ist es der PHP, der schlecht ist? /> [*] Erweiterung = GD (als php8 wird einfach die Erweiterung umbenannt) < /li> Erweiterung_dir = "C: \ php \ php7-4-33 \ ext" zu < /li> Erweiterung_dir = " httpd.conf changed: [list] LoadModule php7_module "c:\php\php7apache2_4.dll" to... [*]LoadModule php_module "C:\php\php8-3-3\php8apache2_4.dll" (note: not php8_module) < /li> < /ul> und apache neu gestartet. 7.4.33 jetzt 8.3.3 und OpenSSL Working und Registrierte Stream -Socket Transports Now "TCP, UDP, SSL, TLS, TLSV1.0, TLSV1.1, TLSV1.2, TLSV1.3". Dies hilft mir nicht, einen funktionierenden PHP7 zu erhalten, aber es weist darauf hin, dass der PHP -Download das [url=viewtopic.php?t=15738]Problem[/url] ist. Als nächstes versuchen Sie ... < /p> PHP -Versionsexperimente < /H2> Nachdem ich mit OpenSSL unter Php 8.3.3 keine weiteren Versionsexperimente durchgeführt habe, habe ich kein [url=viewtopic.php?t=15738]Problem[/url] mit OpenSSL. Ich habe weitere Versionsexperimente durchgeführt. />7.3.4 ist das gleiche < /li> 7.4.33 ist dort, wo ich gestartet habe, und das gleiche < /li> 8.3.3 Alle Arbeiten sind alle Arbeiten < /li> 8.4.4 berichtet keine Probleme, aber Apache geht in einen endlosen Neustartzyklus. Dies wird behauptet, hier zu behoben: Apache -Fehler [Hinweis] Eltern: Child Process mit dem Status 3221225477 - Neustart ... aber kein Glück mit dieser Lösung. Apache zykliert immer noch! Dieser Artikel Apache Crashing: Elternteil: Child Process mit dem Status 3221225477 - Neustart lautet, dass 3221225477 0xc00005 in Hex ist, übersetzt in Verstöße gegen den Speicherzugriff und wahrscheinlich ein Php -Fehler! />https://windows.php.net/downloads/releases/ und [*]https://windows.php.net/downloads/releass/archives/ [/list]
Ich habe Windows 10 mit Wamp Server (Apache 2.4.9, PHP 5.5.29 VC11 X64, E MySQL). Alle funktionieren gut, aber jetzt werde ich eine Curl -Erweiterung verwenden. (Aus der Webserver -Konfiguration) und...
Ich verwende Windows 7 und XAMPP V 3.2.1
Aus bestimmten Gründen muss ich meine alten Daten vom alten PC in XAMPP auf den neuen PC verschieben.
Also ich Laden Sie das genaue XAMPP auf den neuen PC...
Das Composer-Installationsskript war nicht erfolgreich .
OpenSSL ist mit dem Fehler „Zertifikatüberprüfung fehlgeschlagen“ fehlgeschlagen. Dies weist auf ein Problem mit den...