网上找不到任何有用的东西。
我无法在Plesk Cloud Server上运行Postgre,所以我尝试在Windows开发系统上切换到MySQL。
我更改了.env和database.php中的相应条目,并且未注释php.ini中的mysqli / pdo_mysql行。
mysqli似乎根本不起作用,因为它导致查询/ PDO异常/“找不到数据库驱动程序”,就像根本没有mysql扩展处于活动状态一样。
pdo_mysql进行了更改,但导致超时,随后出现了很长的html输出,开始于
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
超过30秒的最大执行时间
并专注于
C:\Users\....\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.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"
Apache error.log看起来很干净。 MySQL dll位于/ ext中。使用postgre,一切正常。也许有人在我重新设置一切之前有一个主意。谢谢
最佳答案
好吧,问题在于端口号仍然在.env中设置为postgre。
Laravel显然最初尝试建立连接,即使页面上没有数据库访问权限也是如此。