Dynamische Bibliothek nicht laden "OpenSSL"
Posted: 18 Mar 2025, 18:02
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>
And phpinfo() reports/confirms:
Code: Select all
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"
- 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.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)Code: Select all
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
- 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>Dies richtet sich mit dem Apache -Ladefehler, der Ausgabe von phpinfo () , dem Ergebnis von uswutdelaLode ('openSSL') und Ausgabe von get_loaded_extensions () Apache -Log -BerichteCode: Select all
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)
Aber dieser ist der richtige Weg zu OpenSSL.dll! Vielleicht ist es der PHP, der schlecht ist? />Code: Select all
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
- 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 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 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 - https://windows.php.net/downloads/releass/archives/
- https://windows.php.net/downloads/relea ... 15-x64.zip
- https://windows.php.net/downloads/relea ... 15-x64.zip
- https://windows.php.net/downloads/relea ... 15-x64.zip
SO Thread-Safe und Thread und Thread nicht-safe, aber das gleiche Ergebnis. Vielleicht funktionieren die X86 -Builds. Alles sehr seltsam!