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中的信息如下:<?php phpinfo(); ?>

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

6.png

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

5.png

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

5,重启apache

4.png

sudo apachectl -k restart

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

7.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容