我有一个 cakephp 应用程序在我的本地机器 (mac osx) 上运行良好,然后突然我意识到我无法连接到 mysql.sock.
I have had a cakephp app running fine on my local machine (mac osx) for a while and then suddently I realise that I can't connect to 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 行如下:
The line 540 of dbo_mysql.php reads:
$this->connection = mysql_connect($config['host'] . ':' . $config['port'], $config['login'], $config['password'], true);
我检查过,没有文件//var/mysql/mysql.sock.它实际上在/tmp/mysql.sock
I've checked, there is no fle //var/mysql/mysql.sock. It's actually in /tmp/mysql.sock
我尝试更改我的 php.ini.default 以匹配上述内容,但它已设置为在/tmp/中查找本地连接.为什么,错误来自哪里?
I tried changing my php.ini.default to match the above but it's already set to look in /tmp/ for local connections. Why, and where is the error coming from?
有人遇到过类似的错误吗?
Has anyone come across a similar error?
谢谢,
琼斯
试试在APP/config/database.php中的mysql.sock文件中传入一个绝对路径
Try passing an absolute path the the mysql.sock file in the APP/config/database.php
<?php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'dbUser',
'password' => 'dbPassword',
'database' => 'dbName',
'prefix' => '',
'port' => '/path/to/mysql.sock'
);
}
这比通过 ip 运行本地连接要好,因为套接字连接要快得多.
This is better than running via an ip for local connection as the socket connection is much, much faster.
这篇关于CakePHP:没有这样的文件或目录(尝试通过 unix:///var/mysql/mysql.sock 连接)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽