Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/02/2022, à 10:59

JME44

[Résolu] php-mysql : PDO could not find driver

Bonjour,

Depuis l'installation de php 8, PDO ne trouve plus son driver mysql (en fait pour mariadb).
Tous les sites utilisant le CMD SPIP fonctionnent => SPIP ne doit pas utiliser PDO mais accède autrement aux bases de données qui sont donc parfaitement accessibles.
Une application perso utilisant les mêmes bases avec PDO ne fonctionne plus.

localhost/info.php indique :

PHP Version 8.0.15
...
PDO drivers 	no value 

apt list php*mysql indique

php-mdb2-driver-mysql/focal,focal 1.5.0b4-2 all
php-mysql/focal,focal 2:8.1+92+ubuntu20.04.1+deb.sury.org+2 all
php5.6-mysql/focal 5.6.40-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.0-mysql/focal 7.0.33-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.1-mysql/focal 7.1.33-44+ubuntu20.04.1+deb.sury.org+1 amd64
php7.2-mysql/focal,now 7.2.34-28+ubuntu20.04.1+deb.sury.org+1 amd64  [installé]
php7.3-mysql/focal 7.3.33-1+ubuntu20.04.1+deb.sury.org+1 amd64
php7.4-mysql/focal,now 7.4.27-1+ubuntu20.04.1+deb.sury.org+1 amd64  [installé]
php7.4-mysql/focal 7.4.26-1+ubuntu20.04.1+deb.sury.org+2 i386
php8.0-mysql/focal 8.0.15-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php8.0-mysql/focal 8.0.12-1+ubuntu20.04.1+deb.sury.org+1 i386
php8.1-mysql/focal,now 8.1.2-1+ubuntu20.04.1+deb.sury.org+1 amd64  [installé]

J'ai trouvé le même problème ici mais ça date de 2006 donc porte sur d'anciennes versions.

Au vu de l'information "configuration restante", j'ai trouvé ici la suggestion que j'ai adaptée

sudo dpkg-reconfigure mariadb-server

sans écho, retour direct à la ligne.

Qu'ai-je oublié de mettre en place ou comment forcer un des sites à utiliser une version précédente de php ?

Merci d'avance


modération : déplacement de Accès internet et réseaux vers Serveurs

Dernière modification par JME44 (Le 09/02/2022, à 08:32)


Ubuntu 24.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.

Hors ligne

#2 Le 06/02/2022, à 13:24

krodelabestiole

Hors ligne

#3 Le 06/02/2022, à 18:05

mazarini

Re : [Résolu] php-mysql : PDO could not find driver

php8.0-mysql/focal 8.0.15-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php8.0-mysql/focal 8.0.12-1+ubuntu20.04.1+deb.sury.org+1 i386

Tu utilises php 8.0.15 et il n'y a pas de php8.0-mysql installé.

Edit : n'installes pas de 386, juste de l'amd64.

Dernière modification par mazarini (Le 06/02/2022, à 18:07)


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#4 Le 06/02/2022, à 19:19

JME44

Re : [Résolu] php-mysql : PDO could not find driver

Merci à vous deux
Première suggestion : le lien de krodelabestiole

Après avoir fait un sudo apt remove php*, suivi d'un autoremove et d'un autoclean, apt list php*mysql donne

php-mdb2-driver-mysql/focal,focal 1.5.0b4-2 all
php-mysql/focal,focal 2:8.1+92+ubuntu20.04.1+deb.sury.org+2 all
php5.6-mysql/focal 5.6.40-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.0-mysql/focal 7.0.33-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.1-mysql/focal 7.1.33-44+ubuntu20.04.1+deb.sury.org+1 amd64
php7.2-mysql/focal,now 7.2.34-28+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php7.3-mysql/focal 7.3.33-1+ubuntu20.04.1+deb.sury.org+1 amd64
php7.4-mysql/focal,now 7.4.27-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php7.4-mysql/focal 7.4.26-1+ubuntu20.04.1+deb.sury.org+2 i386
php8.0-mysql/focal 8.0.15-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php8.0-mysql/focal 8.0.12-1+ubuntu20.04.1+deb.sury.org+1 i386
php8.1-mysql/focal,now 8.1.2-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]

Puis un sudo apt install php7.2 suivi d'un reboot
Apache tourne.

[b]moi@machine:[/b]php -version
PHP 7.2.34-28+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Nov 19 2021 06:36:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-28+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

[b]moi@machine:[/b]a2enmod php7.2
Considering dependency mpm_prefork for php7.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.2:
Module php7.2 already enabled

localhost/info.php indique

PHP Version 7.2.34-28+ubuntu20.04.1+deb.sury.org+1
...
PDO drivers 	no value

Donc toujours pas de driver pour PDO/mysql

Deuxième suggestion

mazarini a écrit :
php8.0-mysql/focal 8.0.15-1+ubuntu20.04.1+deb.sury.org+1 amd64 [configuration restante]
php8.0-mysql/focal 8.0.12-1+ubuntu20.04.1+deb.sury.org+1 i386

Tu utilises php 8.0.15 et il n'y a pas de php8.0-mysql installé.

Doit-on avoir une correspondance de version jusqu'au troisième niveau ? Je n'ai pas vu de php8.0.XXX-mysql
Toujours dans la mouise !

Dernière modification par JME44 (Le 06/02/2022, à 19:27)


Ubuntu 24.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.

Hors ligne

#5 Le 08/02/2022, à 10:39

krodelabestiole

Re : [Résolu] php-mysql : PDO could not find driver

JME44 a écrit :

Après avoir fait un sudo apt remove php*

c'est pas ça qui est indiqué dans la doc. on te conseille plutôt de purger le dépôt d'ondrej sury qui est connu pour poser très régulièrement des problèmes, et de ne garder dans la mesure du possible que la version de php livrée dans les dépôts officiels de ta distro.

si tu as besoin d'autres versions de PHP, oriente-toi plutôt vers docker ou PHPBrew : APT n'est pas fait pour gérer simultanément plusieurs versions d'un même logiciel, il s'agit ici d'un hack de la part du mainteneur de ce dépôt (indiquer les numéros de versions dans le nom des paquets), et à moins de savoir parfaitement ce qu'on fait, ça pose quasi systématiquement des problèmes à un moment ou à un autre (le forum déborde d'exemples).

Hors ligne

#6 Le 09/02/2022, à 08:42

JME44

Re : [Résolu] php-mysql : PDO could not find driver

Bonjour,

krodelabestiole a écrit :

purger le dépôt d'ondrej sury

J'ai supprimé le dépôt ondrej que je n'ai pas souvenir d'avoir installé explicitement.
Je n'ai pas trouvé trace d'un dépôt suri puis nettoyé toute trace de php.
Ensuite j'ai installé sans précision de version php et php-mysql.

Il s'agit de la 7.4 et tout roule.

Merci krodelabestiole

Dernière modification par JME44 (Le 09/02/2022, à 13:43)


Ubuntu 24.04 sur AMD Ryzen 7 2700x et autres sous diverses versions d'Ubuntu, y compris sur Raspberry.

Hors ligne