我的cakephp数据库设置如下所示:
array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => '127.0.0.1',
'login' => 'dbUser',
'password' => '*********',
'database' => '*********',
'prefix' => '',
//'encoding' => 'utf8',
);
我可以在命令行上使用相同的主机,用户和密码连接到本地mysql:
mysql -u dbUser -p -h 127.0.0.1
没问题。我可以在命令行上使用相同的数据库,使用mysql cli上的相同用户调用SELECT。
但是,cakephp一直给我错误111.为什么?
我在Ubuntu 14.04上安装了mysql 5.6:
apt-get install mysql-server-5.6 mysql-client-5.6 mysql-common-5.6
phpinfo()显示已安装PDO和PDO_mysql: PDO
PDO support enabled
PDO drivers mysql
pdo_mysql
PDO Driver for MySQL enabled
Client API version 5.5.47
Directive Local Value Master Value
pdo_mysql.default_socket /var/run/mysqld/mysqld.sock /var/run/mysqld/mysqld.sock
错误cakephp给我的是:
Error: [MissingConnectionException] Database connection "Mysql" is missing, or could not be created.
Exception Attributes: array (
'class' => 'Mysql',
'message' => 'SQLSTATE[HY000] [2003] Can\'t connect to MySQL server on \'127.0.0.1\' (111)',
'enabled' => true,
)
我错过了什么?我已经设置了至少10个其他的cakephp服务器,其中许多使用相同的PDO驱动程序版本在mysql 5.6上运行 - 设置看起来一样,但我必须遗漏一些东西。