【发布时间】: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.rpmsaveApache 日志也不友好。访问日志仅返回 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