Intereting Posts
Онлайн-редактирование файлов gettext? SQLSTATE : ошибка синтаксиса или нарушение доступа: 1064 У вас есть ошибка в синтаксисе SQL – PHP – PDO Преобразовать строку Base64 в файл изображения? MySQL: результат с несколькими строками Результат отдельной строки Как использовать завиток GET вместо POST Поиск существующей электронной почты и имени пользователя в базе данных Может кто-нибудь объяснить немного об этом утверждении о функции mysqli close? PHP: включить внутри включенного файла PHP ORM с поддержкой NOSQL и RDBMS Извлечение только даты из поля datetime (mysql) и назначение его переменной php Упростите цикл через массив, который может быть плоским или многомерным jQuery hover не работает с динамическими элементами Данные HTML, отправленные через HttpWebRequest в vb.net, пусты, когда он попадает в php $ _POST str_shuffle () эквивалент в javascript? Сохранять разрыв строки из TextArea при написании MySQL

Конфигурация среды Laravel не загружается, сбой миграции – SQLSTATE Нет такого файла или каталога

Мое приложение / config / database.php было настроено следующим образом:

'mysql' => array( 'driver' => 'mysql', 'host' => getenv('DB_HOST'), 'database' => getenv('DB_NAME'), 'username' => getenv('DB_USER'), 'password' => getenv('DB_PASS'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 

Я обновил свой код обнаружения env, как это в bootstrap / start.php :

 $env = $app->detectEnvironment(function() { return file_exists(dirname(__FILE__) . '/../.env.production.php') ? 'production' : 'local'; }); 

Теперь я загрузил .env.production.php со следующим:

 <?php return [ 'DB_HOST' => '178.xxx.xxx.xxx', 'DB_NAME' => 'USERNAME', 'DB_USER' => 'PASSWORD', 'DB_PASS' => 'DBNAME', ]; 

Я тестировал обнаружение среды следующим образом:

 [www-data@server]$ php artisan env Current application environment: production 

Как вы можете видеть, он работает по назначению. Затем я начал выполнять миграцию следующим образом:

миграция php-artisan: установить

Когда я это сделаю, я получаю следующую ошибку:

 [www-data@server]$ php artisan migrate:install --env=production [PDOException] SQLSTATE[HY000] [2002] No such file or directory migrate:install [--database[="..."]] 

Любая идея, почему это может быть? похоже, что он не загружает файл .env.production.php .

Кто-нибудь знает, как исправить эту ошибку? Заранее спасибо.

    В документах Laravel 4 указано, что он должен быть .env.php на вашем производственном сервере.

    Теперь на вашем производственном сервере создайте файл .env.php в корне проекта, который содержит соответствующие значения для вашей производственной среды. Как и файл .env.local.php, файл production.env.php никогда не должен включаться в исходный элемент управления.

    Поэтому просто измените код обнаружения среды на этот

     $env = $app->detectEnvironment(function() { return file_exists(dirname(__FILE__) . '/../.env.php') ? 'production' : 'local'; }); 

    Примечание. Вы все еще используете .env.local.php на своем сервере разработки.