【发布时间】:2011-04-27 10:47:54
【问题描述】:
我有一个 cakephp 应用程序在我的本地计算机 (mac osx) 上运行良好一段时间,然后突然我意识到我无法连接到 mysql.sock。
我收到此错误:
Warning (2): mysql_connect() [http://php.net/function.mysql-connect]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 540]
dbo_mysql.php 的第 540 行内容如下:
$this->connection = mysql_connect($config['host'] . ':' . $config['port'], $config['login'], $config['password'], true);
我检查过,没有文件//var/mysql/mysql.sock。它实际上在 /tmp/mysql.sock
我尝试更改我的 php.ini.default 以匹配上述内容,但它已经设置为在 /tmp/ 中查找本地连接。为什么,错误来自哪里?
有没有人遇到过类似的错误?
谢谢,
琼斯
【问题讨论】:
-
试试
127.0.0.1而不是localhost -
在哪里?访问应用程序?在 php.ini 文件中?
-
$config['host'] = '127.0.0.1'。如果您使用localhost,mysql 默认使用本地 unix 域套接字。切换到 IP 会强制它使用 TCP 套接字。 -
您好!有点烦是不是!现在当我将项目上传到网络服务器时,我将不得不更改那段代码:(谢谢!
-
请您提交您的评论作为答案,以便我查看:D
标签: php mysql cakephp mysql-error-2002