Lösung für das Problem, dass die PHP-Erweiterung nicht geladen wird: 1. Öffnen Sie die Konfigurationsdatei php.ini. 2. Ändern Sie die Konfiguration. 3. Erstellen Sie ein Fehlerprotokoll. 4. Starten Sie den php5-fpm-Daemon.
Problem wiederhergestellt:
Ich versuche, die SSH2-Erweiterung für PHP zu installieren und habe ein kleines Problem, die Datei ist da, sie wird einfach nicht in PHP geladen.
(Empfohlenes Tutorial: Java-Video-Tutorial)
Zuerst habe ich ssh2 installiert:
aptitude install libssh2-1-dev libssh2-php
(Was das wert ist, ich verwende Ubuntu 12.04 auf Nginx)
Ich kann sehen, wie ssh2 mit dem Modulbefehl geladen wird:
php -m |grep ssh2 ssh2
Aber wenn ich meinen Code ausführe, erhalte ich einen undefinierten Funktionsfehler.
In meinem phpinfo()-Skript kann ich sehen, dass meine PHP-Installation dieses Verzeichnis nach anderen INI-Dateien durchsucht: /etc/php5/fpm/conf.d listet den Inhalt dieses Verzeichnisses auf und ich kann sehen, dass ich die ssh2.ini habe dort:
ls /etc/php5/fpm/conf.d mysqli.ini mysql.ini pdo.ini pdo_mysql.ini ssh2.ini
Auch hier werden laut phpinfo die anderen vier INI-Dateien geladen, SSH2 jedoch nicht.
Ich habe auch versucht, „extension=ssh2.so“ direkt in meine php.ini-Datei /etc/php5/fpm/php.ini einzufügen und den Nginx-Server neu zu starten.
Lösung:
1. Setzen Sie „display_startup_errors = On“ in php.ini
2. Setzen Sie „error_log ='/var/log/php_error.log'“ in php.ini
3 /var/log/php-error.log
Starten Sie den php5-fpm-Daemon neu und suchen Sie im Fehlerprotokoll nach Fehlern mit dem ssh2-Modul.
Verwandte Empfehlungen: php-Training
Das obige ist der detaillierte Inhalt vonWas tun, wenn die PHP-Erweiterung nicht geladen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!