我在 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' => '',
),
最佳答案
像这样的错误意味着服务器本身甚至无法访问。您是否在 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 的问题。
关于php - SQLSTATE[HY000] [2003] 无法连接到 MySQL 服务器,出现 '127.0.0.1' (61) 错误 Laravel 4.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466920/