Я использую Github для развертывания моих сайтов на моем производственном сервере. Из-за этого я не хочу хранить файлы .env. *. Php, чтобы они были в моем .gitignore.Переменные среды и ремесленник, не работающие на производственном сервере
В каждой директории среды я настроил конфиг базы данных для использования getenv()
, например:
<?php
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => getenv('DB_HOST'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USERNAME'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
Я тогда зашел к файлу конф апача для моих виртуальных хостов и установить переменные среды, например:
SetEnv DB_HOST ***.***.***.***
SetEnv DB_NAME database
SetEnv DB_USERNAME databaseuser
SetEnv DB_PASSWORD databasepass
Все это прекрасно работает на производственном сервере.
Однако, я только вручную импортировал базу данных на данный момент, а не используя php artisan migrate
, потому что он не работает.
Я знаю, что это не сработало, потому что оно не попадает в apache, поэтому переменные не устанавливаются, но я пробовал множество способов, чтобы попытаться обойти эту проблему, но мне не повезло с все же.
Я пытался заставить окружающую среду, чтобы увидеть, если он может получить переменные с помощью php artisan --env=production migrate
Я также попытался проверить, что он использует правильную среду, запустив php artisan env
и он использует производственную среду, которая является правильной ,
Моя следующая идея состояла в том, чтобы создать файл .env.production.php вручную на рабочем сервере. Я создал один и использовал getenv() на всякий случай, когда он работал так, но произошла такая же ошибка, поэтому я попытался установить переменные вручную, не используя getenv(), и мне все еще не повезло.
Любые идеи были бы весьма признательны.
производства .env файлы называются .env.php не .env.production.php –
Я создал среду в пределах начальной загрузки/start.php с именем «производства», будет ли эта не работает? – Karl
Я только что пробовал файл .env.php, который работает, если я устанавливаю переменные вручную, есть ли способ использовать переменные, которые устанавливаются через apache для работы с мастером? – Karl