目前我在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);
}
由于
答案 0 :(得分:4)
我相信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');
)
或许尝试将其更改为:
array(
'host' => "localhost",
'username' => 'user',
'password' => 'pass',
'dbname' => 'database');
)
答案 1 :(得分:0)
PHP 5.6.33-0 + deb8u1(cli)(建立:2018年1月9日05:01:31) 适用于使用readline 6.3的debian-linux-gnu(armv8l)的mysql Ver 14.14 Distrib 5.5.60
对我来说解决方案是从我的配置文件中删除:3306。
<?php
define('DB_SERVER', 'localhost');
//instead of: define('DB_SERVER', 'localhost:3306');
define('DB_USERNAME', 'mysql-user');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database_name');
...
谢谢您的帮助!