Mac下php连接MySQL报错"no directory"的解决办法

本文转自:http://blog.sina.com.cn/s/blog_6f72ff900101aonx.html

本来准备安装sqli-labs,但是配置好apache后总是报错("No directory"),百度一下发现是默认路径不对

Mac下MySQL的安装路径(我的MySQL是使用homebrew安装的):/usr/local/Cellar/mysql/5.7.18_1

数据库的数据文件在该目录的data文件夹中;

命令文件在bin文件夹中。

通过终端打开MySQL命令行的方法:/usr/local/Cellar/mysql/5.7.18_1/bin/mysql

下面说一下解决办法。

1,首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No such file or directory”

2,在phpinfo页面中找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket

phpinfo中的信息如下:

3,启动mysql(mysql -u root - p),执行命令 STATUS; 记下UNIX socket的值

Mac下php连接MySQL报错"no directory"的解决办法_第1张图片
6.png

4,如果2和3的值不一样,则打开php.ini(可以从phpinfo页面中找到php.ini的位置,默认是/private/etc/php.ini),将2中提到的三个配置项的值改成3的值。

Mac下php连接MySQL报错"no directory"的解决办法_第2张图片
5.png

三个地方都要改成mysql中UNIX socket的值,三个地方是:mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket

5,重启apache

Mac下php连接MySQL报错"no directory"的解决办法_第3张图片
4.png

sudo apachectl -k restart

然后再打开sqli-labs,发现问题已经解决了!!!

Mac下php连接MySQL报错"no directory"的解决办法_第4张图片
7.png

你可能感兴趣的:(Mac下php连接MySQL报错"no directory"的解决办法)