SQLSTATE [HY000] [2003]无法连接到MySQL服务器'127.0.0.1'(61)错误Laravel 4.1

时间:2014-05-08 03:40:23

标签: php mysql laravel laravel-4

我在本地主机上收到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'    => '',
        ),

1 个答案:

答案 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的问题。