Я создаю веб-приложение в Laravel 5. Приложение должно получать «имена категорий», хранящиеся в базе данных MySQL, и отображать форму для добавления новой «Имена категорий». Когда я выполняю команду php artisan serve
и я перейти к http://localhost:8000/admin/categories/, я получаю следующее сообщение об ошибке:PHP Laravel: соединение не может быть сделано, потому что целевая машина активно отказалась от него
PDOException in Connector.php line 50:
SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
По несколько постов, которые я прочитал на переполнение стека, многие пользователи сталкиваются эту ошибку, не правильно сконфигурировать файл .env, который переопределяет настройки по умолчанию для объекта данных PHP (PDO), как указано в файле database.php. Файл .env определен ниже:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
И ключ тузд в файле database.php определяется как:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'homestead'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
Как ни странно, когда я SSH в моей виртуальной машине, и я бегу mysql -uhomestead -psecret homestead
, Я могу подключиться к базе данных. Вопрос в том, почему Laravel не может подключиться к MySQL, когда я могу напрямую подключиться к нему с теми же параметрами? Что еще может отрицать доступ к Laravel?
Вы запускаете свой файл через усадьбу? или местных? – aldrin27
Я получаю то же сообщение в любом случае – jstein
Возможно, это поможет вам http://stackoverflow.com/questions/32373592/best-way-to-set-up-laravel-with-dev/32374119#32374119 – aldrin27