#1 Le 26/10/2016, à 18:33
- NinJoDo
[Résolu]Impossible d'installer extension mysql sur php 7.0
Bonjour à tous,
Le titre est assez évocateur :-)
J'ai donc fait les choses suivantes pour le moment :
- installation php7.0
- installation mysql
- installation phpmyadmin
Tout fonctionne correctement sauf l'extension Mysql. Quel que soit mon site en local, quel que soit le CMS, il me dit qu'il n'y a pas d'extension mysql.
Pour essayer de régler le problème j'ai :
1. Dans le fichier /etc/php/7.0/apache2/php.ini :
1.1 décommenté mysqli.allow_local_infile = On
1.2 ajouté au fichier les lignes :
extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so
2. Installé les paquets suivants :
apt-get install php-mysql php-gd
3. Exécuté sans erreur la commande suivante :
sudo phpenmod mysqli
Le résultat de la commande sudo phpenmod mysqli est :
/etc/php/7.0/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 => mysqli,pdo_mysql
Je précise qu'à chaque fois j'ai redémarré apache2 avec la commande suivante :
sudo service apache2 restart
Je sèche. Si un petit génie passe par là :-)
Dernière modification par NinJoDo (Le 28/10/2016, à 17:52)
Hors ligne
#2 Le 27/10/2016, à 12:51
- bobe
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Donc tu confirmes que mysqli est disponible sur ton installation ? Si oui, il ne doit plus y avoir de problème non ?
Hors ligne
#3 Le 27/10/2016, à 12:53
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Bin non c'est ça tout le problème... Le problème n'est pas résolu ! :-/
Hors ligne
#4 Le 27/10/2016, à 12:54
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Mais oui il me mets que mysqli est bien là tout de même
Hors ligne
#5 Le 27/10/2016, à 12:58
- bobe
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Tu as un message d'erreur avec une application php ? Si oui, quel est le message ? Quelle est l'application en cause ?
Et si c'est pour une application web, tu as bien des fichiers de config /etc/php/7.0/fpm/conf.d/20-mysqli.ini et/ou /etc/php/7.0/apache/conf.d/20-mysqli.ini ?
Dernière modification par bobe (Le 27/10/2016, à 12:59)
Hors ligne
#6 Le 27/10/2016, à 14:29
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Les messages d'erreur sur les sites en local :
Xoops
Error : mysql extension not loaded
Wordpress
Erreur lors de la connexion à la base de données
Drupal
PDOException: SQLSTATE[HY000] [2002] Connection timed out in lock_may_be_available() (line 167 of /home/*************/Sites/lamp/*************/includes/lock.inc).
Dolibarr
Error: Dolibarr config file content seems to be not correctly defined.
Please run dolibarr setup by calling page /install.
Oui j'ai bien les deux fichiers que tu dis.
Hors ligne
#7 Le 27/10/2016, à 14:45
- donut
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Salut,
Normalement, php7.0-mysql est suffisant.
Essaie un :
php -m
Tu peux ausis jeter un œil avec un phpinfo.
Créé un fichier phpinfo.php qui contient ça :
<?php phpinfo(); ?>
Charge le sur ton serveur et ouvre-le, il t'affichera plein d'informations utiles (par contre n'oublie pas de le supprimer, ou en restreindre l'accès).
https://utux.fr (blog perso)
Hors ligne
#8 Le 27/10/2016, à 14:50
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
enchant
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
interbase
intl
json
ldap
libxml
mbstring
mcrypt
mysqli
mysqlnd
odbc
openssl
pcntl
pcre
PDO
pdo_dblib
PDO_Firebird
pdo_mysql
PDO_ODBC
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
pspell
readline
recode
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib[Zend Modules]
Zend OPcache
Oui j'avais jeté un oeil au phpinfo mais je n'avais pas vu de problème particulier.
Tu voir un truc en particulier ?
Hors ligne
#9 Le 27/10/2016, à 14:57
- donut
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
On voit bien le module mysqli mais pas mysql, je sais que les deux sont proches mais les applications ne sont peut-être pas compatibles ou alors il faut leur spécifier.
Dernière modification par donut (Le 27/10/2016, à 14:59)
https://utux.fr (blog perso)
Hors ligne
#10 Le 27/10/2016, à 14:59
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Oui
API Extensions mysqli,pdo_mysql
Hors ligne
#11 Le 27/10/2016, à 15:04
- bobe
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
y a plus l'extension mysql en php 7, seulement mysqli ou bien pdo/mysql
Hors ligne
#12 Le 27/10/2016, à 15:27
- donut
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Ok, par contre la configuration de php est différente entre le cli et apache, il faudrait donc vérifier avec phpinfo() que ces modules apparaissent bien.
https://utux.fr (blog perso)
Hors ligne
#13 Le 27/10/2016, à 15:33
- bobe
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
c'est le cas je pense, regarde son dernier message.
Hors ligne
#14 Le 27/10/2016, à 15:42
- bmzoom
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
mysql -u root -p
Donnera le prompt de mysql
mysql> create database wpblogdb;
Query OK, 1 row affected (0,00 sec)
Dernière modification par bmzoom (Le 27/10/2016, à 15:43)
Hors ligne
#15 Le 27/10/2016, à 16:57
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Réponse de la requête :
mysql> create database wpblogdb;
Query OK, 1 row affected (0,02 sec)
par contre la configuration de php est différente entre le cli et apache
Tu veux bien expliquer parce que je sens confusément que c'est un problème de ce type, mais mes connaissances ne sont pas assez étendues pour ça... Merci !
Hors ligne
#16 Le 27/10/2016, à 17:01
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Dans le phpinfo :
pdo_mysql
PDO Driver for MySQL enabled
Client API version mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
mysqli
MysqlI Support enabled
Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 0
Hors ligne
#17 Le 27/10/2016, à 19:47
- bmzoom
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Quel que soit mon site en local, quel que soit le CMS, il me dit qu'il n'y a pas d'extension mysql.
Je n'ai pas besoin de CMS
Pour voir, je vais installer wordpress et reviendrai avec erreur ..
Pas d'erreur avec la version 4.6 de wordpress
Dernière modification par bmzoom (Le 27/10/2016, à 20:16)
Hors ligne
#18 Le 27/10/2016, à 19:49
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
??? euh... Wordpress est un CMS, mais ne trollons pas :-)
Hors ligne
#19 Le 27/10/2016, à 21:14
- bruno
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
J'ai donc fait les choses suivantes pour le moment :
- installation php7.0
- installation mysql
- installation phpmyadminTout fonctionne correctement sauf l'extension Mysql. Quel que soit mon site en local, quel que soit le CMS, il me dit qu'il n'y a pas d'extension mysql.
Donc Apache, MySQL et PHP fonctionnent, y compris les connexions aux bases MySQL avec PHP puisque phpmyadmin fonctionne aussi.
Tu te focalises sur un message d'erreur parlant d'extension MySQL mais ce que l'on voit surtout c'est une impossibilité de se connecter aux bases de données depuis les différents CMS que tu essaies (alors que cela fonctionne avec phpmyadmin…)
Ce n'est donc sûrement pas un problème de module PHP, mais un problème de configuration au niveau de tes CMS : configuration des hôtes virtuels Apache, informations de connexion à la base de données erronées, etc.
Les logs d'apache donneraient probablement plus d'informations sur le sujet.
Dernière modification par bruno (Le 28/10/2016, à 07:02)
#20 Le 27/10/2016, à 21:37
- bmzoom
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
L'éclaircissement est dans ce fichier de log :
sudo gedit /var/log/apache2/error.log
Hors ligne
#21 Le 28/10/2016, à 07:07
- bruno
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Hum… gedit pour voir les logs, pourquoi pas (Encore faut-il avoir une interface graphique.)
Il me semble plus pratique d'ouvrir un terminal :
tail -f /var/log/apache2/access.log
tenter d’accéder avec un navigateur au site web et examiner ce qui s'affiche alors dans la console.
#22 Le 28/10/2016, à 11:16
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
Le résultat pour error.log
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysqli.so' - /usr/lib/php/20151012/mysqli.so: undefined symbol: mysqlnd_connect in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysql.so' - /usr/lib/php/20151012/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
[Fri Oct 28 11:45:36.247726 2016] [mpm_prefork:notice] [pid 4456] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Fri Oct 28 11:45:36.247739 2016] [core:notice] [pid 4456] AH00094: Command line: '/usr/sbin/apache2'
[Fri Oct 28 12:06:58.923553 2016] [mpm_prefork:notice] [pid 4456] AH00169: caught SIGTERM, shutting down
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysqli.so' - /usr/lib/php/20151012/mysqli.so: undefined symbol: mysqlnd_connect in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysql.so' - /usr/lib/php/20151012/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
[Fri Oct 28 12:07:47.052564 2016] [mpm_prefork:notice] [pid 1321] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Fri Oct 28 12:07:47.052599 2016] [core:notice] [pid 1321] AH00094: Command line: '/usr/sbin/apache2'
Access.log est vide...
Merci les gars. Je sens qu'on va y arriver !
Hors ligne
#23 Le 28/10/2016, à 11:19
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
À l'emplacement /usr/lib/php/20151012, il y a bien :
- mysqli.so
- mysqlnd.so
- pdo_mysql.so
Hors ligne
#24 Le 28/10/2016, à 14:21
- bruno
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
/usr/lib/php/20151012, c'est l'emplacement des bibliothèques PHP5. Il y a un mélange entre PHP 5 et 7, sans doute suite à une mise à niveau mal terminée ou à l'utilisation de dépôts non officiels.
Tu devrais commencer par purger tout ce qui reste d'installation de PHP5 :
sudo apt-get purge php5* libapache2-mod-php5
#25 Le 28/10/2016, à 14:39
- NinJoDo
Re : [Résolu]Impossible d'installer extension mysql sur php 7.0
hmmm... je l'avais déjà fait.
Du coup quand je le refais ça donne :
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note, selecting 'php5-mapscript' for glob 'php5*'
Note, selecting 'php5-gd' for glob 'php5*'
Note, selecting 'php5-common' for glob 'php5*'
Note, selecting 'php5-imagick' for glob 'php5*'
Note, selecting 'php5-mcrypt' for glob 'php5*'
Note, selecting 'php5.6-json' for glob 'php5*'
Note, selecting 'php5-pgsql' for glob 'php5*'
Note, selecting 'php5.6-common' for glob 'php5*'
Note, selecting 'php5-cgi' for glob 'php5*'
Note, selecting 'php5-cli' for glob 'php5*'
Note, selecting 'php5-dev' for glob 'php5*'
Note, selecting 'php5-phpdbg' for glob 'php5*'
Note, selecting 'php5-fpm' for glob 'php5*'
Note, selecting 'php5-mysql' for glob 'php5*'
Note, selecting 'php5' for glob 'php5*'
Note, selecting 'php5-sqlite' for glob 'php5*'
Le paquet « php5-fpm » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5.6-common » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5.6-json » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5 » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-cgi » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-cli » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-dev » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-common » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-mcrypt » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-mysql » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-pgsql » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-sqlite » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-gd » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-mapscript » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-phpdbg » n'est pas installé, et ne peut donc être supprimé
Le paquet « php5-imagick » n'est pas installé, et ne peut donc être supprimé
Le paquet « libapache2-mod-php5 » n'est pas installé, et ne peut donc être supprimé
0 mis à jour, 0 nouvellement installés, 0 à enlever et 6 non mis à jour.
Hors ligne