2012-05-16 21 views
9

मैं एक PHP ऐप चलाने वाले हेरोकू का उपयोग कर रहा हूं, मुझे पृष्ठभूमि कार्यकर्ताओं को सेटअप करने की आवश्यकता है जो बाहरी एपीआई से बात करते हैं और मेरे डीबी को लिखते हैं, हरोकू में रूबी के लिए श्रमिकों की स्थापना के बारे में बहुत सारी जानकारी है लेकिन PHP के लिए नहीं।PHP हेरोकू पृष्ठभूमि कार्यकर्ता?

क्या यह आसानी से PHP के साथ हेरोकू पर करने योग्य है?

मैं पृष्ठभूमि प्रक्रियाओं की शुरूआत कभी नहीं घेरने की कोशिश की है और मैं कोई भी दस्तावेज़ यह ब्यौरा खोजने के लिए प्रतीत नहीं कर सकते हैं ...

उत्तर

14

जोड़े निम्नलिखित वातावरण चर:

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

तो फिर तुम सिर्फ जोड़ सकते हैं आपके प्रसंस्करण के लिए कार्यकर्ता।

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

कोई खुशी नहीं, मैं देखता हूं कि कार्यकर्ता प्रक्रिया स्टार्टअप पर क्रैश हो जाती है, कॉन्फ़िगर var आवश्यक क्यों है? रूबी प्रो फाइलों को देखते हुए मुझे "कार्यकर्ता: बंडल exec stalk worker.php" जैसे उदाहरण दिखाई देते हैं, क्या इसे इस तरह के पैटर्न का पालन करना चाहिए? – cal

+1

@cal यदि आप 'heroku run bash' चलाते हैं, और '~/php/bin/php -i' चलाने की कोशिश करते हैं, तो आप देखेंगे कि LD_LIBRARY_PATH env चर की आवश्यकता क्यों है:'/app/php/bin/php: साझा पुस्तकालयों को लोड करते समय त्रुटि: libmcrypt.so.4: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका ' –

+1

बीटीडब्लू, मुझे आपके जैसी ही समस्या है @cal, लेकिन मुझे पूरा यकीन है कि उपर्युक्त उत्तर सही है। मैंने इसे test.php स्क्रिप्ट के साथ करने की कोशिश की जो कि ' ', और यह' 123' गूंजता है तो बाहर निकलता है। निश्चित नहीं है कि मेरी PHP स्क्रिप्ट जो मेरे अपने सर्वर पर ठीक चलती है, वह हीरोोक सर्वर पर स्टेटस कोड 0 से बाहर निकल जाएगी। –

संबंधित मुद्दे