无处不在,尝试连接到我的旧版CakePHP应用程序时出现以下错误:
Fatal error: Uncaught exception 'MissingConnectionException' with message 'Database connection "Mysql" is missing, or could not be created.'
in /myapproot/lib/Cake/Model/Datasource/DboSource.php:239
Stack trace: #0 /myapproot/lib/Cake/Model/ConnectionManager.php(101):
DboSource->__construct(Array) #1 /myapproot/lib/Cake/Model/Model.php(3260):
ConnectionManager::getDataSource('default') #2
/myapproot/lib/Cake/Model/Model.php(1223): Model->getDataSource() #3
/myapproot/lib/Cake/Model/Model.php(1396): Model->schema() #4
/myapproot/app/Lib/Log/Engine/DatabaseLogger.php(14): Model->create() #5
/myapproot/lib/Cake/Log/CakeLog.php(204): DatabaseLogger->write('error',
'[MissingConnect...') #6 /myapproot/lib/Cake/Error/ErrorHandler.php(118):
CakeLog::write(3, '[MissingConnect...') #7 [internal function]:
ErrorHandler::handleException(Object(M
in /myapproot/lib/Cake/Model/Datasource/DboSource.php on line 239
该应用程序直到上周五才运行良好,据我所知,服务器没有配置更改。我网站的错误日志显示这是从今天早上开始的。
这是我的database.php文件的相关部分。同样,最近几天这些都没有改变:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'pass',
'database' => 'nc_live2',
'prefix' => '',
//'encoding' => 'utf8',
);
}
我尝试在database.php中指定unix_socket
,但无济于事。我也尝试将'localhost'更改为'127.0.0.1。'不开心指定端口时也没有任何改变。
我完全困惑为什么这个问题突然显现出来。
我正在CentOS 7上运行CakePHP 2.8,已对其进行了全面修补。 MariaDB版本10.0.36
更新:这是一些netstat输出,显示mysqld仅在侦听IPV6连接:
tcp6 0 0 :::3306 :::* LISTEN 2108/mysqld
即使手动将绑定设置为0.0.0.0,也仍然没有喜悦。那使3306收听了IPV4,但并不能解决我的问题。