php artisan migrate:install {"error":{"type":"ErrorException","message":"PDO::__construct(): [2002] Connection refused (trying to connect via tcp:\/\/127.0.0.1:3306)","file":"\/Applications\/MAMP\/htdocs\/DRCSports\/vendor\/laravel\/framework\/src\/Illuminate\/Database\/Connectors\/Connector.php","line":47}}
В моем database.php я обновил информацию до mysql
'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'Laravel_DRCSports', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
Я не уверен, правильно ли понимаю ошибку, но для меня это похоже, что мой laravel не подключается к mysql вправо. Если это так, я не знаю, как это исправить.
Проблема заключалась в том, что mysql работает на порту 8888, а значение порта по умолчанию для Laravel – 3306 (так как это порт по умолчанию для серверов mysql).
Решение состоит в том, чтобы добавить к массиву ключ «порт» (например: «порт» => 8888), и он выполнит эту работу.
Это то, что я сделал … в /app/config/app.php
'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost:8889', 'database' => 'pic', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
и в нижней части кода php
'redis' => массив (
'cluster' => false, 'default' => array( 'host' => '127.0.0.1', 'port' => 8888, 'database' => 0, ), ),
он должен работать …
У меня возникли проблемы (Laravel 4), когда я использовал MySQL на порте, отличном от 3306.
Приложение, запускаемое браузером, ожидает следующий синтаксис приложения / конфигурации / базы данных:
'mysql' => array( ... 'host' => 'localhost', 'port' => '8889', ... )
В то время как мастер командной строки запускает следующий синтаксис:
'mysql' => array( ... 'host' => 'localhost:8889', ... )
Проблема описана здесь:
https://github.com/laravel/laravel/issues/1182
Большинство статей предлагают обходной путь с использованием среды Laravel, но это приводит к дублированию конфигурационных файлов и нарушает принцип DRY (Do not Repeat Yourself), так что вот еще одна альтернатива:
В верхней части app / config / database.php:
$my_hostname = 'localhost'; $my_port = '8889'; $my_database = 'database'; $my_username = 'username'; $my_password = 'password'; if (App::runningInConsole()) { // artisan runs from the command line // change 'localhost' to 'localhost:8889' $my_hostname = $my_hostname.':'.$my_port; }
И далее вниз:
'mysql' => array( 'driver' => 'mysql', 'host' => $my_hostname, 'port' => $my_port, 'database' => $my_database, 'username' => $my_username, 'password' => $my_password, 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
ура
Измените данные своей базы данных в файлах config / database.php и .env.
Я сделал эти изменения и работал как чемпион:
в database.php: host: localhost: 8889 Порт: 8889, а у моей мамы есть пароль, поэтому у меня есть два способа поставить этот пароль либо в файл database.php, либо в .env-файл. Я изменил значение пароля '' to 'forge ', а затем, используя мой пароль MAMP в файле .env, вы можете увидеть свою конкретную информацию о MAMP в приложении MAMP на вкладке порта (MySQL one)
Обязательно отредактируйте эту часть файла «.env».
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=8889 DB_DATABASE=blog DB_USERNAME=root DB_PASSWORD=root
Это сработало для меня.
я думаю, вы можете решить эту проблему, добавив следующий код внутри синтаксиса app / config / database:
'mysql' => array( ... 'pconnect' => 'TRUE', ... )