English 中文(简体)
CakePHP:没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock)
原标题:CakePHP: No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

我的本地机器(mac-osx)上运行了一段时间的cakepp应用程序,但突然我意识到我无法连接到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);

我已经检查过了,没有fle//var/mysql/mysql.sock。它实际上在/tmp/mysql.shock中

我尝试更改php.ini.default以匹配上面的内容,但它已经设置为在/tmp/中查找本地连接。为什么,错误是从哪里来的?

有人遇到过类似的错误吗?

谢谢

琼西

最佳回答

尝试将绝对路径传递到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 
        );
    }

这比通过ip进行本地连接要好,因为套接字连接要快得多。

问题回答

如果您对CakePHP 2.0有问题,请尝试以下操作:

sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

在phpcake 2.0中,使用unix_socket而不是端口

<?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
        );
    }




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签