Не уверен, что нужно разместить на нужном форуме StackExchange. Если нет, дайте мне знать!
Рабочая обстановка:
- OpenSUSE Leap 15.4
- MariaDB: mariadb версии 15.1, дистрибутив 10.7.7-MariaDB
- PHP 8.0.25 (cli) (создано: 31 октября 2022 г. 12:00:00) (NTS)
На основе phpinfo(), PHP ini-файл выглядит так: /etc/php8/cli/php.ini
.
phpMyAdmin 5.1 работает хорошо. Каталог установки: /usr/share/phpMyAdmin
(каталог по умолчанию, созданный при установке)с помощью zypper install phpMyAdmin
Команда). «Известная» опция $cfg['Servers'][$i]['host']
из /etc/phpMyAdmin/config.inc.php
файла установлена в localhost
(и это работает!).
Затем я обновил версию phpMyAdmin следующим образом:
srv-bla:~ # mv /usr/share/phpMyAdmin /usr/share/phpMyAdmin.old
srv-bla:~ # mkdir /usr/share/phpMyAdmin
srv-bla:~ # wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/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 mysqld mariadb apache2
Страница подключения отображается правильно. Затем я ввожу свои учетные данные и застреваю с этим чертовым сообщением:
Невозможно подключиться к серверу. mysqli::real_connect(): (HY000/2002): Такого файла или каталога нет
Я некоторое время бродил по многочисленным веб-страницам. Многие из них предлагают изменить файл config.inc.php
и установить $cfg['Servers'][$i]['host']
опцию 127.0.0.1
вместо localhost
. К сожалению,Для меня это не решает проблему...
Я редактирую тот config.inc.php
файл? На самом деле, я могу найти только один на сервере:
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
Логи Apache тоже недружелюбны. Логи Access возвращают только коды 200, что, на мой взгляд, нормально (веб-страница phpMyAdmin обслуживается правильно). Логи ошибок пусты... Логи Mysql тоже пусты ( /var/log/mysql/mysqld.log
).
Или, конечно, я проверил, что mysqld
служба (такая же, как и mariadb
сервис) запущена.
Любая помощь или идеи будут высоко оценены!
РЕДАКТИРОВАТЬ
Файл сокета с точки зрения MariaDB выглядит следующим образом:
srv-bla:~ # mariadb -u root -p
Enter password:
MariaDB [(none)]> \s
[...]
UNIX socket: /var/lib/mysql/mysql.sock
[...]
Файл php.ini настраивается таким же образом:
srv-bla:~ # cat /etc/php8/cli/php.ini | grep mysqli.default_socket
mysqli.default_socket = /var/lib/mysql/mysql.sock
Для меня проблем с сокетом нет...
решение1
Решение для меня:
Файл конфигурации PHP, возвращаемый php -r 'phpinfo();'
командой в терминале, — /etc/php8/cli/php.ini
.
Файл конфигурации PHP, возвращаемыйphpinfo()функция, вызываемая с помощью URL, напримерhttp://myserver.fr/phpinfo.phpявляется /etc/php8/apache2/php.ini
.
Я изменил строку mysqli.default_socket = /var/lib/mysql/mysql.sock
в этом другом файле конфигурации и смог снова успешно вызвать phpMyAdmin. Обратите внимание, что очистка кэша браузера была необходима!
Спасибо за помощь и надеюсь, что это поможет другим!