我在本地主机上收到Laravel 4.1(使用MAMP)
时收到以下错误SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (61)
它指向:
/Applications/MAMP/htdocs/crowdsets/laravel-master/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);
}
到目前为止,我没有收到此错误。
我设置了本地环境和生产环境(默认设置)。
在config / local / database.php中的我有:
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
答案 0 :(得分:6)
这样的错误意味着服务器本身甚至无法访问。你在MAMP中启动了MySQL吗?
另外,你是如何开始使用MAMP的?使用标准的MySQL 3306
端口?或者MAMP的替代端口用于非管理员:8889
?
我敢打赌你的服务器正在运行,但是正在尝试连接3306
,所以你需要将端口设置为8889
。将配置更改为这样;请注意添加port
参数:
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => '8889',
'database' => 'database',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
编辑:我刚发现this question thread解决了通过端口8889
将Laravel连接到MAMP的问题。