Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Heroku后台工作人员?_Php_Heroku_Background Process - Fatal编程技术网

PHP Heroku后台工作人员?

PHP Heroku后台工作人员?,php,heroku,background-process,Php,Heroku,Background Process,我正在使用Heroku运行一个PHP应用程序,我需要设置与外部API对话并写入我的DB的后台工作程序,Heroku有很多关于为Ruby而不是PHP设置工作程序的信息 使用PHP在Heroku上很容易做到这一点吗 我从未处理过启动后台流程,我似乎找不到任何详细的文档…添加以下环境变量: # Add this config $ heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib 然后,您只需将worker添加到proc文件中

我正在使用Heroku运行一个PHP应用程序,我需要设置与外部API对话并写入我的DB的后台工作程序,Heroku有很多关于为Ruby而不是PHP设置工作程序的信息

使用PHP在Heroku上很容易做到这一点吗


我从未处理过启动后台流程,我似乎找不到任何详细的文档…

添加以下环境变量:

# Add this config
$ heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib
然后,您只需将worker添加到proc文件中

worker: cd ~/www/ && ~/php/bin/php worker.php

不高兴,我看到工作进程在启动时崩溃了,为什么需要配置变量?查看ruby proc文件,我看到了“worker:bundle exec stape worker.php”这样的示例,如果运行
heroku运行bash
,并尝试运行
~/php/bin/php-I
,它是否应该遵循这样的模式?@cal,您将看到为什么需要LD_LIBRARY_PATH env变量:
/app/php/bin/php:加载共享库时出错:libmcrypt.so.4:无法打开共享对象文件:没有这样的文件或目录
顺便说一句,我和您@cal有同样的问题,但我非常确定上面的答案是正确的。我用一个test.php脚本尝试了它,该脚本只需
,它会回显
123
,然后退出。不确定为什么我的PHP脚本在我自己的服务器上运行良好,但在Heroku服务器上退出时状态代码为0。只是确定一下,但您也有一个web进程,对吗?Heroku希望您的一个进程绑定到端口80。以下是如何在php构建包中启动apache进程
web:sh boot.sh
这是一个非常有用的技巧。对我有用。