Я получаю следующую ошибку на моем localhost для 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' => '', ),
Подобная ошибка означает, что сам сервер даже не доступен. Вы начали MySQL в MAMP?
Также, как вы начали 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' => '', ),
EDIT: Я только что нашел этот вопрос, который затрагивает проблему подключения Laravel к MAMP через порт 8889
.