在Laravel应用程序中将数据库从postgre更改为MySQL会导致超时/symfony异常



在网上没有找到任何有用的东西。

我无法让Postgre在Plesk云服务器上运行,所以我尝试在我的Windows开发系统上切换到MySQL。

我更改了 .env 和数据库中的相应条目.php并在 php.ini 中取消注释了 mysqli/pdo_mysql 行。

mysqli 似乎根本不起作用,因为它会导致查询/PDO 异常/"找不到数据库驱动程序",就像根本没有活动的 mysql 扩展一样。

pdo_mysql 会给出更改,但会导致超时,然后是较长的 html 输出,从

Symfony  Component  Debug  Exception  FatalErrorException (E_UNKNOWN)

超出 30 秒的最大执行时间

并专注于

C:Users....vendorlaravelframeworksrcIlluminateDatabaseConnectorsConnector.php

/**
* Create a new PDO connection.
*
* @param  string  $dsn
* @param  array   $config
* @param  array   $options
* @return PDO
*/
public function createConnection($dsn, array $config, array $options)
{
list($username, $password) = [
$config['username'] ?? null, $config['password'] ?? null,
];
try {
return $this->createPdoConnection(
$dsn, $username, $password, $options
);
} catch (Exception $e) {
return $this->tryAgainIfCausedByLostConnection(
$e, $dsn, $username, $password, $options
);
}
}
Arguments
"Maximum execution time of 30 seconds exceeded"

阿帕奇错误.log看起来很干净。MySQL dll 存在于/ext 中。有了邮政,一切正常。也许在我重新设置所有内容之前有人有一个想法。谢谢

好吧,问题是端口号仍然设置为在 .env 中发布。 Laravel显然最初尝试建立连接,即使页面上没有数据库访问权限。

最新更新