【发布时间】:2014-04-06 22:29:00
【问题描述】:
我正在尝试在 OS X 上运行一个 laravel 项目。我用自制软件安装了 MySql。我试着用谷歌搜索我为什么会收到这个错误:
SQLSTATE[HY000] [2002] No such file or directory
当我尝试做时
php artisan migrate
而且我看到的大多数答案都说 php 和 MySql 无法相互通信。自从我认为我关注了以前的帖子以来,我一直试图找出我哪里出错了,但它仍然不起作用。我创建了一个这样做的页面:
<?php
phpinfo();
?>
我看到了这些类型的东西: 在配置区域,我看到:
'--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-mysql=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-pcntl' '--enable-zend-signals' '--enable-dtrace'
加载的配置文件:
/usr/local/etc/php/5.4/php.ini
如果我ls /tmp,我确实看到了 mysql.sock。
在那个 php.ini 文件中,我设置了这些行: pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock
然后在 /usr/local/Cellar/mysql/5.6.16/my.cnf 中,我添加了以下行:
socket = /tmp/mysql.sock
我确实重新启动了 apache,并检查了 mysql 是否正在运行。除了 php 和 mysql 连接之外,我还没有看到任何其他建议。我认为我的系统上有两个版本的 php,因为当我安装 mcrypt 或其他我不记得的东西时,它安装了另一个 php 版本。但是当我查看 phpinfo 的输出时,我正在编辑相应的 php.ini 文件。我不知道我是否还缺少另一件作品。有什么想法吗?谢谢
【问题讨论】:
-
我刚刚通过尝试启用“mysql 常规查询日志”来调试我正在使用的一些学说/php 代码而遇到此错误。
-
我只需要在 php.ini 中启用 mysqli.so 扩展