【发布时间】:2012-05-23 18:35:23
【问题描述】:
我正在使用 Heroku 运行 PHP 应用程序,我需要设置与外部 API 对话并写入我的数据库的后台工作程序,Heroku 有很多关于为 Ruby 而不是为 PHP 设置工作程序的信息。
这在 Heroku 上是否可以通过 PHP 轻松实现?
我从来没有处理过启动后台进程,而且我似乎找不到任何详细说明它的文档...
【问题讨论】:
标签: php heroku background-process
我正在使用 Heroku 运行 PHP 应用程序,我需要设置与外部 API 对话并写入我的数据库的后台工作程序,Heroku 有很多关于为 Ruby 而不是为 PHP 设置工作程序的信息。
这在 Heroku 上是否可以通过 PHP 轻松实现?
我从来没有处理过启动后台进程,而且我似乎找不到任何详细说明它的文档...
【问题讨论】:
标签: php heroku background-process
添加以下环境变量:
# Add this config
$ heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib
然后您可以将工作人员添加到您的 Procfile。
worker: cd ~/www/ && ~/php/bin/php worker.php
【讨论】:
heroku run bash,并尝试运行~/php/bin/php -i,你就会明白为什么需要LD_LIBRARY_PATH环境变量:/app/php/bin/php: error while loading shared libraries: libmcrypt.so.4: cannot open shared object file: No such file or directory
<?php echo "123"; ?>,它会回显 123 然后退出。不知道为什么在我自己的服务器上运行良好的 PHP 脚本只会在 Heroku 服务器上以状态码 0 退出。
web: sh boot.sh