8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je cherche à me constituer un environnement LAMP pour le développement :

- Ubuntu 22.04.1
- PHP 8.1.8
- MySQL : 8.0.30
- WordPress 6.0.1

Mais j'ai cette erreur lors de l'installation de WordPress :
a écrit :
Il semble que votre installation PHP ne possède pas l’extension MySQL nécessaire pour WordPress.

Ou en anglais :
a écrit :
Your php installation appears to be missing the mysql extension, which is required by wordpress.

J'ai consulté par mal d'articles en français ou en anglais à ce sujet, mais j'ai l'impression qu'ils se copient les uns sur les autres. Ces articles listent deux raisons à l'origine du problème :

- une ancienne version de PHP (>=5.6) pour laquelle il manquerait un module de liaison avec MySQL (msqlnd),
- une ancienne version de WordPress.

Or l'installation est neuve, tout est à jour, j'ai même réinstallé plusieurs fois - et bien entendu relancé PHP et MySQL -, je n'arrive pas à trouver l'info nécessaire pour me débloquer...
Modifié par Olivier C (12 Aug 2022 - 00:08)
Bonjour,

Comment as tu installé PHP ? Tu as bien pensé à installer le paquet php-mysql via apt ?
Voir également les autres dépendances : https://ubuntu.com/tutorials/install-and-configure-wordpress#2-install-dependencies

Peut-être vérifier dans la configuration de php (php.ini par défaut) si l'extension mysqli est bien activée (et/ou pdo_mysql ?).
Tu peux utiliser la fonction phpinfo() pour localiser le fichier php.ini.
Les extensions requises et recommandées :
https://make.wordpress.org/hosting/handbook/server-environment/#php-extensions
Modifié par Pitet (11 Aug 2022 - 18:37)
Merci de t'intéresser à mon sujet.
Pitet a écrit :
Comment as tu installé PHP ? Tu as bien pensé à installer le paquet php-mysql via apt ? Voir également les autres dépendances [...]

Oui ! Dans mes talonnement entre différents tutoriels, c'est exactement la page (et donc la commande) que j'ai utilisé pour rajouter des paquets ! au cas où ! (sans oublier de relancer apache2 of course) :
sudo apt install apache2 \
                 ghostscript \
                 libapache2-mod-php \
                 mysql-server \
                 php \
                 php-bcmath \
                 php-curl \
                 php-imagick \
                 php-intl \
                 php-json \
                 php-mbstring \
                 php-mysql \
                 php-xml \
                 php-zip

Pitet a écrit :
Peut-être vérifier dans la configuration de php (php.ini par défaut) si l'extension mysqli est bien activée (et/ou pdo_mysql ?).

A vrai dire mysqli n'est nécessaire que jusqu'à php 5.6, après il est obsolète. Pour PDO j'ai le bon plugin : il s'agit de php-mysql.

Il est vrai que je n'ai pas encore fouillé dans php.ini, je regarderais ce soir en rentrant du boulot mais je crains ne rien trouver de probant car je suis déjà passé par le shell pour passer les packages en revue.
Modifié par Olivier C (11 Aug 2022 - 21:14)
Eurêka ! J'ai trouvé ! Malheureusement j'ai fait tellement de manip' que je suis incapable de savoir ce qui a fait la différence, car à un moment, en rétrogradant la version de PHP, j'avais même perdu l'interprétation du code. Le temps que je retrouve la bonne commande :
sudo a2enmod php8.1

... Tout fonctionnait ensuite parfaitement avec connexion à MySQL !

Et comme entre les deux j'ai fait tout un tas de trucs, comme revoir les droits du dossier WordPress, repasser en php8.1.8, des purges + réinstallations, etc. Je ne sais pas ce qu'il y a vraiment fait la différence (vous vous rappelez ? : "Tant pis ça marche").

Peut-être est-ce une énième purge - peut-être plus approfondie - de PHP ? avec une réinstallation (vraiment) propre ?

On va dire ça.

"En cas de doute , tout purger puis tout réinstaller tu feras !"

Bonne soirée.
___
PS : vous trouverez ce sujet en doublon sur le forum de WP fr sur lequel j'avais aussi posé la question.
Modifié par Olivier C (12 Aug 2022 - 00:30)