1

我有一个由 Composer 调用的脚本,它应该运行一些数据库过程。但是,该脚本没有环境变量,因此未按预期连接到数据库。

我尝试使用 SSH 访问应用程序,并且所有环境变量都在那里,可由 PHP 命令行客户端访问。

部署输出的摘录:

-----> Receiving push
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /srv/tmp/builddir/code/composer.phar
Use it: php /srv/tmp/builddir/code/composer.phar
       Welcome to Phundament

       Installing application...

       Array
       (
       )
       bool(false)
       bool(false)

这三个调试输出是由(是的,我创建了 APPLICATION_ENV var,如指南中所述):

print_r($_ENV);
var_dump(getenv('CRED_FILE'));
var_dump(getenv('APPLICATION_ENV'));
4

1 回答 1

2

这是对的。在映像的推送和构建过程中,没有可用的附加凭据。要运行数据库迁移或类似脚本,我建议您使用 cctrlapp run 命令。您可以轻松地将其与推送和部署命令一起编写脚本。

于 2013-04-08T07:50:00.163 回答