繁体   English   中英

phpmyadmin使用mysqli连接,但是我的phpi使用mysqli错误

[英]phpmyadmin using mysqli connects, but my php using mysqli errors out

这真让我发疯! 我正在得到经典的“无法通过套接字'/var/run/mysql4d/mysql4d.sock'(13)连接到本地MySQL服务器”。

到目前为止,我挖出的所有内容都告诉我我的设置应该可以(例如,在php.ini和my.cnf中定义套接字,等等)。 更糟糕的是... phpmyadmin与我在自己的php中使用的un / pw相同。 所以显然可以连接,但我正在拧紧它

我尝试对来自phpmyadmin的连接进行逆向工程,但是在几个小时后,由于太费解而放弃了它。

谁能提供一些建议?

我的配置:Ubuntu 9.10(Karmic),Apache 2.2,PHP 5.2.6,MySQL 4.1.22(出于旧版应用程序的原因)。

my.cnf(/var/lib/mysql4/my.cnf):

[客户]
端口= 3306
套接字= /var/run/mysql4d/mysql4d.sock
的[mysqld]
端口= 3306
套接字= /var/run/mysql4d/mysql4d.sock

php.ini(/etc/php5/apache2/php.ini):

[MySQL的]
mysql.default_socket = /var/run/mysql4d/mysql4d.sock
[库MySQLi]
mysql.default_socket = /var/run/mysql4d/mysql4d.sock

使用mysql而不是mysqli的同样问题,顺便说一句。

编辑:我应该提一下,我已经将mysql4和php&mysql的ubuntu默认安装一起安装了,以便与旧版应用程序一起使用,这是我在连接时遇到的麻烦。 我尝试了这个:

ini_set('mysql.default_socket','/var/run/mysql4d/mysql4d.sock');

现在连接通过,但是所有查询都返回空集。 (无奈地哭泣)

这听起来像/var/run/mysql4d/mysql4d.sock的权限问题。 您以什么身份运行此用户? 权限在文件系统级别上可以吗?

如果您用Google搜索错误消息,则会发现很多人都遇到了这个错误消息,而这始终是权限问题,有时是由于SELinux已激活。 检查此线程以获取一些可能的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM