【问题标题】:Unable to connect to server following phpMyAdmin upgrade from 5.1 to 5.2phpMyAdmin 从 5.1 升级到 5.2 后无法连接到服务器
【发布时间】:2022-12-07 19:48:33
【问题描述】:

工作环境:

  • OpenSUSE Leap 15.4
  • MariaDB:mariadb Ver 15.1 Distrib 10.7.7-MariaDB
  • PHP 8.0.25(cli)(内置:2022 年 10 月 31 日 12:00:00)(NTS)

基于 phpinfo(),PHP ini 文件为:/etc/php8/cli/php.ini

phpMyAdmin 5.1 运行良好.安装目录为:/usr/share/phpMyAdmin(安装时默认创建的目录通过zypper install phpMyAdmin命令)。 来自/etc/phpMyAdmin/config.inc.php 文件的“著名”选项$cfg['Servers'][$i]['host'] 被设置为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 日志也不友好。访问日志仅返回 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

对我来说,没有套接字问题......

【问题讨论】:

    标签: mysql linux phpmyadmin mariadb


    【解决方案1】:

    "No such file or directory" 表示 unix 套接字(您在 php.ini 中指定)不存在。

    检查你的 unix_socket 的位置:

    mysql -hlocalhost -e"show variables like 'socket'"
    

    确保服务器使用的套接字与 php.ini 中的相同

    【讨论】:

      猜你喜欢
      • 2014-03-13
      • 2019-03-16
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      • 2016-03-31
      • 2012-11-25
      相关资源
      最近更新 更多