2012-05-16 18 views
9

Bir PHP uygulaması çalıştıran Heroku kullanıyorum, harici API'larla konuşan ve DB'ime yazdığım arka plan işçileri kurmam gerekiyor, Heroku'nun çalışanları, Ruby için değil, PHP'yi kurmakla ilgili birçok bilgi içeriyor.PHP Heroku arka plan çalışanları?

Bu PHP ile Heroku'da kolayca yapılabilir mi?

Ben arka plan işlemleri başlatılması ele hiç ve ben herhangi dokümanlar bunu detaylandırma bulmak için görünmüyor olabilir ...

cevap

14

aşağıdaki ortam değişkenleri ekleyin:

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

Sonra sadece ekleyebilir Procfile'a çalışan.

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

Sevinç yok, çalışan işlemin başlatma sırasında kilitlendiğini görüyorum, yapılandırma neden gerekli? Ruby proc dosyalarına bakarak "worker: bundle exec stalk worker.php" gibi örnekler görüyorum, böyle bir desen takip etmeli mi? – cal

+1

@cal "heroku run bash" komutunu çalıştırırsanız ve '~/php/bin/php -i' çalıştırmayı denerseniz, LD_LIBRARY_PATH env değişkeninin neden gerekli olduğunu görürsünüz:'/app/php/bin/php: Paylaşılan kütüphaneleri yüklerken hata: libmcrypt.so.4: paylaşılan nesne dosyasını açamıyor: Böyle bir dosya ya da dizin yok ' –

+1

BTW, @cal gibi aynı sorunu yaşıyorum, ama yukarıdaki cevabın doğru olduğundan eminim. Ben sadece ', ve echo '123' sonra çıkar. Kendi sunucumda düzgün çalışan PHP betiğimin neden Heroku sunucusundaki 0 ​​durum koduyla çıkacağından emin değilim. –