2012-05-16 18 views
9

Estoy usando Heroku ejecutando una aplicación PHP, necesito configurar trabajadores en segundo plano que hablen con API externas y escriban en mi base de datos, Heroku tiene mucha información sobre cómo configurar trabajadores para Ruby pero no para PHP.PHP Heroku ¿Trabajadores de fondo?

¿Esto es factible en Heroku con PHP?

nunca he abordado el lanzamiento de los procesos de fondo y me parece que no puede encontrar ninguna documentación que detalla que ...

Respuesta

14

Añadir las siguientes variables de entorno:

# Add this config 
$ heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib 

a continuación, puedes añadir el Trabajador a su archivo de Proc.

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

No me gusta, veo que el proceso de trabajo falla al iniciar, ¿por qué es necesaria la configuración var? En cuanto a los archivos de proc de ruby, veo ejemplos como "worker: bundle exec stalk worker.php", ¿debería seguir un patrón como ese? – cal

+1

@cal Si ejecuta 'heroku run bash' e intenta ejecutar' ~/php/bin/php -i', verá por qué se necesita la variable de env LD_LIBRARY_PATH: '/ app/php/bin/php: error al cargar bibliotecas compartidas: libmcrypt.so.4: no se puede abrir el archivo objeto compartido: No existe dicho archivo o directorio' –

+1

Por cierto, tengo el mismo problema que usted @cal, pero estoy bastante seguro de que la respuesta anterior es correcta. Lo probé con un script test.php que simplemente ' ', y hace eco' 123' luego sale. No estoy seguro de por qué mi script PHP que funciona bien en mi propio servidor simplemente saldrá con un código de estado 0 en el servidor Heroku. –

Cuestiones relacionadas