Ich verwende Github, um meine Websites auf meinem Produktionsserver bereitzustellen. Aus diesem Grund möchte ich nicht speichern .env. *. Php Dateien alles, so dass sie in meinem .gitignore sind.Umgebungsvariablen und Handwerker funktionieren nicht auf Produktionsserver
Innerhalb jeden Umgebungsverzeichnisses I die Datenbank Config zum Beispiel festgelegt hat getenv()
, zu verwenden:
<?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' => '',
),
),
);
Ich habe dann in die Apache-conf-Datei für meine virtuellen Hosts und legen Sie die Umgebungsvariablen gegangen, wie folgt:
SetEnv DB_HOST ***.***.***.***
SetEnv DB_NAME database
SetEnv DB_USERNAME databaseuser
SetEnv DB_PASSWORD databasepass
Dies alles funktioniert perfekt auf dem Produktionsserver.
Allerdings habe ich gerade die Datenbank gerade im Moment importiert, anstatt php artisan migrate
zu verwenden, weil es nicht funktioniert.
Ich weiß es nicht funktioniert, weil es nicht von Apache schlägt so die Variablen nicht gesetzt werden, aber ich habe viele Möglichkeiten ausprobiert, um zu versuchen, um dieses Problem zu bekommen, aber ich habe habe kein Glück ab noch.
Ich habe versucht, die Umwelt zu zwingen, um zu sehen, ob es die Variablen durch die Verwendung php artisan --env=production migrate
Ich habe auch versucht habe bekommen können überprüfen, ob es die richtige Umgebung ist mit php artisan env
durch Laufen und es die Produktionsumgebung ist mit der richtig ist .
Meine nächste Idee war, eine .env.production.php-Datei manuell auf dem Produktionsserver zu erstellen. Ich habe eine erstellt und verwendet getenv() nur für den Fall, dass es so funktioniert, aber der gleiche Fehler aufgetreten ist, so habe ich versucht, die Variablen manuell ohne getenv() und ich hatte immer noch kein Glück.
Alle Ideen würden sehr geschätzt werden.
Produktion .env Dateien aufgerufen werden .env.php –
nicht .env.production.php Ich habe ein Umfeld, in Bootstrap/start.php mit dem ‚Produktion‘-Namen, würde dies funktioniert das überhaupt nicht? – Karl
Ich habe gerade versucht, die .env.php-Datei, die funktioniert, wenn ich die Variablen manuell einstellen, gibt es eine Möglichkeit, die Variablen, die über Apache gesetzt sind, um mit Handwerker arbeiten? – Karl