我试着在我的Mac上配置Wordpress。我使用带有MySQL的Apache服务器,它是通过MacPorts安装的。
因此,在phpMyAdmin中,我创建了一个具有"hellowp“数据库的"hellowp”用户。我可以正确地与这个用户登录,并且我可以访问hellowp数据库。
但是,当我在wp-config.php或Wordpress配置GUI中设置这些参数时,Wordpress无法登录到数据库。
我启用了调试,这是我得到的错误:
Warning: mysqli_real_connect(): (HY000/2002): No such file or directory in /private/var/www/hellowp/wp-includes/wp-db.php on line 1342
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /private/var/www/hellowp/wp-includes/wp-db.php on line 1372
Warning: mysql_connect(): No such file or directory in /private/var/www/hellowp/wp-includes/wp-db.php on line 1372我的PHP版本是5.5.10。我在许多项目中都使用这个服务器,有些是在Drupal上运行的,我对它们没有任何问题。
我还试图在Wordpress中以MySQL根用户的身份登录,但错误仍然相同。
编辑1 :我试着从MySQL工作台登录到服务器上,在127.0.0.1时无法找到服务器.奇怪的是,phpMyAdmin仍然在工作,其他项目和Drupal使用数据库时没有任何问题。我会调查一下,也许是防火墙问题。会在我有消息的时候更新。
编辑2: Ok,所以我检查了很多人说的话,是的,很多人都是对的: MySQL连接只有在使用PDO时才能工作(我在我的所有项目中所做的,以及Drupal )。mysql_connect和mysqli_connect正在触发一个错误。但事实是,我不会重写Wordpress,我使用的是最新版本。因此,我将设法找到一种解决方案,使mysql_connect和mysqli_connect在我的PHP配置上工作。
**编辑3:解决方案:**我几个月前安装了Percona服务器(一个MySQL叉),以取代mysql服务器。在安装过程中,在我的php.ini中,我只为PDO设置了套接字,而不是为mysqli和mysql设置套接字。因此,我必须为我的php.ini中的所有mysql扩展设置套接字。这就是这些台词:
pdo_mysql.default_socket="/opt/local/var/run/percona/mysqld.sock"
mysql.default_socket = "/opt/local/var/run/percona/mysqld.sock"
mysqli.default_socket = "/opt/local/var/run/percona/mysqld.sock"发布于 2014-05-03 21:27:00
不确定,但这是Id通常调试它的方式。
发布于 2014-05-03 21:07:32
第一个错误消息告诉您Wordpress找不到您的数据库,很可能您的主机名不正确--它通常是'localhost‘,但是您可以尝试127.0.0.1,我认为这对Mac比较好。
其余的错误消息都是误导性的--如果wordpress无法建立Mysqli连接,它将尝试不推荐的mysql,在您的情况下,也会失败,因为它找不到数据库。
https://stackoverflow.com/questions/23449377
复制相似问题