php - CakePHP:数据库连接“Mysql”丢失,或无法创建
问题描述
在尝试连接到我的旧版 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
即使手动将绑定设置为 0.0.0.0,仍然没有乐趣。这让 3306 在 IPV4 上监听,但它并没有解决我的问题。
解决方案
推荐阅读
- python - python无法读取dict中的键
- angular - Angular 是否定义了用于按环境组织资产的目录结构?
- javascript - aframe 创建复杂元素
- python - 使用熊猫数据框后无法将字符串转换为浮点数
- html - 使用 Css calc() 对齐伪元素以在所有屏幕上工作
- python - Django 2.1.7,IntegrityError,外键约束失败
- php - 在 laravel 中间件上调用 null 上的成员函数 setCookie()
- charles-proxy - 无法将三星 S10 连接到查尔斯代理
- chart.js - 使chartjs图例标签可标签化
- python - 熊猫指定自定义假期