iam*_*esy 13 php mysql cakephp mysql-error-2002
我有一个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]
Run Code Online (Sandbox Code Playgroud)
dbo_mysql.php的第540行读取:
$this->connection = mysql_connect($config['host'] . ':' . $config['port'], $config['login'], $config['password'], true);
Run Code Online (Sandbox Code Playgroud)
我已经检查过,没有文件//var/mysql/mysql.sock.它实际上在/tmp/mysql.sock中
我尝试更改我的php.ini.default以匹配上面的内容,但它已经设置为在/ tmp /中查找本地连接.为什么,错误来自何处?
有没有人遇到过类似的错误?
谢谢,
Jonesy
Abb*_*ant 12
尝试在APP/config/database.php中传递mysql.sock文件的绝对路径
<?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'
);
}
Run Code Online (Sandbox Code Playgroud)
这比通过ip进行本地连接更好,因为套接字连接要快得多.
Mil*_*tic 12
如果您遇到CakePHP 2.0的问题,请尝试以下方法:
sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
小智 6
在phpcake 2.0中使用'unix_socket'而不是port
<?php
class DATABASE_CONFIG {
var $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'dbUser',
'password' => 'dbPassword',
'database' => 'dbName',
'prefix' => '',
'unix_socket' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock', //Path for mac XAMPP
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14142 次 |
| 最近记录: |