2016-07-13 4 views
0

einrichten Ich versuche eine PHP-App auf GAE. Sie können die Verbindungsvariablen für die Cloud SQL-Verbindung in der Datei app.yaml definieren. Allerdings muss ich diese auch für den MySQL-Server in meiner lokalen Entwicklungsumgebung definieren.Wie lokale Umgebungsvariablen für Cloud SQL (GAE) unter Windows

Die documentation schlägt vor, dies mit "Export" zu tun, aber ich bin derzeit auf Windows. PhpStorm gibt mir die Möglichkeit, Umgebungsvariablen in der GAE-Laufkonfiguration zu definieren, aber diese scheinen nicht zu registrieren (zumindest kann ich sie nicht mit getenv erreichen).

Was ist eine gute Möglichkeit, die lokalen Verbindungsvariablen für MySQL anzugeben? Vorzugsweise so, dass ich beim Hochladen auf Google keine Änderungen vornehmen muss und wenn möglich, ohne diese Details in den Code einzutragen.

Ich verwende PHP, das mit dem GAE SDK geliefert wurde (eigentlich von PHPStorm aus).

Antwort

0

Ich habe die Einstellung der Umgebungsvariablen in Windows/PHPStorm aufgegeben. Ich habe jetzt zwei Sätze von Variablen in app.yaml, eine extra für DEV:

env_variables: 
     MYSQL_DEV_DSN: 'mysql:host=127.0.0.1;port=3306;dbname=name_of_db' 
     MYSQL_DEV_USERNAME: 'db_username' 
     MYSQL_DEV_PASSWORD: 'db_password' 
     MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE 
     MYSQL_USER: root 
     MYSQL_PASSWORD: 'root_pwd' 

Und ich zwischen den beiden Sätzen mit einer einfachen Linie Überprüfung in welcher Umgebung wir befinden sich in:

if (strpos($_SERVER['SERVER_SOFTWARE'], 'Development', 0) === 0) { 
    // Development 
} else { 
    // Google App Engine 
} 

Nicht so gut wie ich wollte, aber funktioniert perfekt.

Verwandte Themen