Bonjour,
Mon environnement de travail :
- OpenSUSE Leap 15.4
- MariaDB : mariadb Ver 15.1 Distrib 10.7.7-MariaDB
- PHP 8.0.25 (cli) (built: Oct 31 2022 12:00:00) ( NTS )
Selon le retour de phpinfo(), le fichier de configuration PHP est :
/etc/php8/cli/php.ini.
phpMyAdmin 5.1 fonctionne parfaitement. Le répertoire d'installation est :
/usr/share/phpMyAdmin (répertoire par défaut créé avec une installation classique
via la commande
zypper install phpMyAdmin). La "fameuse" option
$cfg['Servers'][$i]['host'] du fichier
/etc/phpMyAdmin/config.inc.php est renseignée avec
localhost (et ça marche !).
La mise à jour de phpMyAdmin 5.1 vers 5.2 a été effectuée de la manière suivante :
Code : Tout sélectionner
srv-bla:~ # mv /usr/share/phpMyAdmin /usr/share/phpMyAdmin.old
srv-bla:~ # mkdir /usr/share/phpMyAdmin
srv-bla:~ # wget [...] phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # tar -xzf phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # mv phpMyAdmin-5.2.0-all-languages/* /usr/share/phpMyAdmin/
srv-bla:~ # systemctl restart mysql mysqld mariadb apache2
La page de connexion s'affiche correctement. Après saisie du login et mot de passe, j'obtiens le message d'erreur suivant :
Impossible to connect to server. mysqli::real_connect(): (HY000/2002): No such file or directory
J'ai erré un moment sur Internet. La très grande majorité des posts suggèrent de modifier le fichier
config.inc.php et de remplacer
$cfg['Servers'][$i]['host'] = 'localhost' par
$cfg['Servers'][$i]['host'] = '127.0.0.1'. Malheureusement, cette solution ne fonctionne pas pour moi...
Est-ce que j'édite le bon fichier
config.inc.php ? Je n'en trouve qu'un sur mon serveur :
Code : Tout sélectionner
srv-bla:~ # updatedb
srv-bla:~ # locate config.inc.php
/etc/phpMyAdmin/config.inc.php
/etc/phpMyAdmin/config.inc.php.rpmnew
/etc/phpMyAdmin/config.inc.php.rpmsave
Les logs Apache ne sont pas bavards. Les access logs renvoient des codes 200 uniquement, ce qui me semble normal car la page de connexion est bien affichée. Les error logs sont vides. Les logs de mySQL aussi...(
/var/log/mysql/mysqld.log).
Bien entendu, j'ai vérifié que le service mysqld (même service que celui intitulé
mariadb) est bien en cours de fonctionnement.
Concernant les sockets, le fichier déclaré pour mariadb et PHP est identique :
Code : Tout sélectionner
srv-bla:~ # mariadb -u root -p
Enter password:
MariaDB [(none)]> \s
[...]
UNIX socket: /var/lib/mysql/mysql.sock
[...]
Code : Tout sélectionner
srv-bla:~ # cat /etc/php8/cli/php.ini | grep mysqli.default_socket
mysqli.default_socket = /var/lib/mysql/mysql.sock
Donc pas un souci de socket a priori non plus...
Merci par avance pour l'aide et les idées sur des points que j'aurais omis de vérifier.
Thomas