SQLSTATE[HY000] [2005] 未知的 MySQL 服务器主机 'localhost:3306' (2)

Ary*_*rya 5 php mysql laravel

目前我在 laravel 中面临上述问题。基本上这个项目是在 Mac OS X 上设置的,目前我正在 Linux 上进行它。所以当我在浏览器上运行它时,它会给我这个错误。我还更改了数据库文件中的数据库详细信息。但现在这个错误来了。那么你能告诉我如何修复它吗?

打开:/var/www/laravel-projects/wit/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php

*/
public function createConnection($dsn, array $config, array $options)
{
$username = array_get($config, 'username');
$password = array_get($config, 'password');
return new PDO($dsn, $username, $password, $options);
}
Run Code Online (Sandbox Code Playgroud)

谢谢

joh*_*g12 6

我相信在 5.5 之前的 php 版本中,您将使用“localhost”(如果不是同一主机,则为运行 mysql 服务器的主机)作为“host”参数。如果是5.5版本之后我认为你需要使用“localhost:3306”(不一定是3306,这只是默认的mysql端口,所以如果你改变它会有所不同)。因此,如果您使用的是 5.5 之前的 php 版本,并且代码适用于 5.5 及更高版本,请尝试更改您的 mysql 连接器设置。猜测它看起来像这样:

array(
        'host' => "localhost:3306",
        'username' => 'user',
        'password' => 'pass',
        'dbname' => 'database');
)
Run Code Online (Sandbox Code Playgroud)

也许尝试将其更改为:

array(
            'host' => "localhost",
            'username' => 'user',
            'password' => 'pass',
            'dbname' => 'database');
    ) 
Run Code Online (Sandbox Code Playgroud)