Nach dem Update heute Morgen funktioniert PHP nicht mehr. Error:
AH01071: Fehler 'PHP-Nachricht: PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion mysqli_connect () in /var/www/html/public_html/.../config.php in Zeile 2 \ n', Verweis: http: // localhost / public_html /
php -v
PHP 7.0.6-9 + donate.sury.org ~ xenial + 2 (cli) (NTS) Copyright (c) 1997-2016 Die PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies mit Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, von Zend Technologies
Die Bibliotheken wurden zuvor installiert. Nach dem Dist-Upgrade auf 16.04 habe ich einige Zeit gebraucht, um mich anzupassen
sudo apt-get install php-mysql; sudo service apache2 restart
.Antworten:
Ohne weitere Informationen kann ich nur allgemeine Ursachen beschreiben:
php7.0-mysql
Paket ist nicht installiert, um den Lauf zu behebensudo apt-get install php-mysql
mysqli
Modul wurde irgendwie deaktiviert, um den Lauf zu reparierenphpenmod mysqli
libapache2-mod-php5.6
mitphp7.0-cli
php5.6-fpm
Paket) und Apache2-Module (zBlibapache2-mod-php7.0
). Deaktivieren Sie das FPM, indem Sie Folgendes ausführen :a2disconf php5.5-fpm
.extension=mysqli.so
zu dieser benutzerdefinierten Konfigurationsdatei zu korrigierenSo erhalten Sie weitere Diagnosen:
führe `php -r 'phpinfo () aus;' und überprüfen Sie die Ausgabe auf MySQL-Referenzen:
Machen Sie dasselbe mit dem Web, erstellen Sie eine einfache Seite mit nur `'und überprüfen Sie die Ausgabe für das MySQLI-Modul
Nachdem wir uns das Problem genauer angesehen hatten, stellten wir fest, dass das System eine Mischung aus PHP 5.5 und PHP 7.0 enthielt, die Apache2 wahrscheinlich verwirrte. Als allgemeine Empfehlung würde ich definitiv empfehlen, mit einer PHP-Version zu beginnen, um die andere (n) zu debuggen und zu löschen.
Um eine bestimmte PHP-Version vollständig zu löschen, können Sie ein
phpX.Y-common
Paket löschen , das alle anderen umgekehrten Abhängigkeiten abruft:Beispiel:
quelle
sudo phpenmod mysqli
php7.0-mysql aus oder installieren Sie es neu mit:sudo apt-get purge php7.0-mysql && sudo apt-get install php-mysql
ldd /usr/lib/php/*/mysqli.so
aus?