我在GAE上尝试PHP应用程序。您可以在app.yaml文件中定义Cloud SQL连接的连接变量。但是,我还需要在我的本地开发环境中为MySQL服务器定义这些。
documentation建议使用“导出”执行此操作,但我目前在Windows上。 PhpStorm让我可以选择在GAE运行配置中定义环境变量,但那些似乎没有注册(至少我不能使用getenv到达它们)。
为MySQL指定本地连接变量的好方法是什么?最好以这种方式在上传到Google时不需要进行更改,如果可能的话,不要在代码中添加这些细节。
我正在运行GAE SDK提供的PHP(实际上是从PhpStorm开始的)。
答案 0 :(得分:0)
我放弃了在Windows / PhpStorm中设置环境变量。我现在在app.yaml中添加了两组变量,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'
我在两组之间切换,用简单的线条检查我们所处的环境:
if (strpos($_SERVER['SERVER_SOFTWARE'], 'Development', 0) === 0) {
// Development
} else {
// Google App Engine
}
不如我想要的那么整洁,但效果很好。