在尝试连接到旧版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',
);
}
我试过指定 unix_socket
在database.php中,无效。我也试过把localhost改成127.0.0.1,没什么乐趣。当我指定端口时,也没有任何变化。
我完全搞不懂为什么这个问题突然出现了。
我在centos 7上运行cakephp 2.8,完全修补。mariadb版本10.0.36
更新:以下是一些netstat输出,显示mysqld只监听ipv6连接:
tcp6 0 0 :::3306 :::* LISTEN 2108/mysqld
即使手动将bind设置为0.0.0.0,仍然没有乐趣。这使得3306在ipv4上监听,但这并没有解决我的问题。
暂无答案!
目前还没有任何答案,快来回答吧!