Après la mise à jour de ce matin, php ne fonctionne plus. Erreur:
AH01071: Erreur rencontrée 'message PHP: PHP Erreur fatale: appel de la fonction non définie mysqli_connect () dans /var/www/html/public_html/.../config.php à la ligne 2\n', référant : http: // localhost/public_html /
php -v
PHP 7.0.6-9 + donate.sury.org ~ xenial + 2 (NTS) Copyright (c) 1997-2016 Le PHP Group Zend Engine v3.0.0, Copyright (c) 1998- 2016 Zend Technologies avec Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, par Zend Technologies
Les bibliothèques ont été installées auparavant, il m'a fallu un certain temps pour m'adapter après la mise à niveau vers 16.04
Sans plus d'informations, je ne peux que décrire des causes générales:
php7.0-mysql
n'est pas installé, pour corriger l'exécution Sudo apt-get install php-mysql
mysqli
est en quelque sorte désactivé pour corriger l'exécution phpenmod mysqli
libapache2-mod-php5.6
avec php7.0-cli
php5.6-fpm
) et d'un module Apache2 (par exemple, libapache2-mod-php7.0
). Désactivez le FPM en exécutant: a2disconf php5.5-fpm
.extension=mysqli.so
à ce fichier de configuration personnalisé.Pour obtenir plus de diagnostics:
lancer `php -r 'phpinfo ();' et vérifiez la sortie pour les références MySQL:
$ php -r 'phpinfo();' | grep -i mysqli
/etc/php/5.6/cli/conf.d/20-mysqli.ini,
mysqli
MysqlI Support => enabled
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_Host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off
API Extensions => mysql,mysqli,pdo_mysql
Faites la même chose avec le Web, créez une page simple avec juste "et vérifiez le résultat pour le module MySQLI
Après un examen plus approfondi du problème, nous avons découvert qu’il existait un mélange de PHP 5.5 et de PHP 7.0 dans le système, ce qui confondait probablement Apache2. En tant que recommandation générale, je recommanderais certainement de commencer par une version PHP pour déboguer et purger le (s) autre (s).
Pour purger complètement une version spécifique de PHP, vous pouvez purger le package phpX.Y-common
qui extraira toutes les autres dépendances inverses:
Exemple:
apt-get purge php5.5-common # to remove PHP 5.5
apt-get purge php5.6-common # to remove PHP 5.6
apt-get purge php7.0-common # to remove PHP 7.0
# and to remove old php5 packages:
apt-get purge php5-common # to remove old PHP 5.x packages