CakePhp 3.0 : PDO issues


CakePhp 3.0 : PDO issues

我目前正在开发CakePHP 3.0,在连接到数据库时遇到了问题。

恢复:

您的PHP版本是5.4.16或更高版本。

您的PHP版本已经加载了mbstring扩展名。

您的PHP版本已加载openssl扩展。

您的PHP版本已经加载了intl扩展。

然后:

您的tmp目录是可写的。

您的日志目录是可写的。

FileEngine用于核心缓存。更改配置编辑config/app.php

但是:

CakePHP无法连接到数据库。

无法建立与数据库的连接:SQLSTATE[HY000][2006]MySQL服务器已经离开

我收到的警告是:

警告(2):PDO::__construct():MySQL服务器已离开[CORE''src''Database''Driver''PDODriverTrait.php,第48行]警告(2):PDO::__construct()[PDO.construct]:读取问候语时出错小包裹PID=25748[CORE''src''Database''Driver''PDODriverTrait.php,行48]

我在48号线上的PDODriverTrait.php是:

protected function _connect($dsn, array $config)
{
    $connection = new PDO(
        $dsn,
        $config['username'],
        $config['password'],
        $config['flags']
    );
    $this->connection($connection);
    return true;
}

我的app.php数据源是:

 'className' => 'Cake'Database'Connection',
    'driver' => 'Cake'Database'Driver'Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'port' => '81',
    'username' => 'root',
    'password' => '',
    'database' => 'projetatelier',
    'encoding' => 'utf8',
    'timezone' => 'UTC',
    'cacheMetadata' => true,
    'quoteIdentifiers' => false,

我检查了我的PDO扩展,一切似乎都是正确的。

感谢

根据您显示的代码,问题是:-

  1. 要么你的MySQL正在其他端口上工作,所以只需将端口号放在你的app.php中即可。

  2. 或者端口号需要从文件app.php.中删除

首先尝试删除它,然后重试。如果不起作用,那么检查MySQL的哪个端口起作用,然后将这个值放在端口中,而不是80。