Dynamische Bibliothek nicht laden "OpenSSL"Php

PHP-Programmierer chatten hier
Anonymous
 Dynamische Bibliothek nicht laden "OpenSSL"

Post by Anonymous »

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: 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"
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.

    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
    
    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>

    Code: 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)
    
    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: 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
    
    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 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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post