2012-06-26 11 views
6

मैं phantomJS को PHP के माध्यम से चलाने की कोशिश कर रहा हूं।फ़ैंटॉमजेएस ब्राउज़र के माध्यम से PHP में काम नहीं करता है (लेकिन कमांड लाइन के माध्यम से करता है, और यहां तक ​​कि कमांड लाइन के माध्यम से PHP चलाकर)

जब मैं सीधे कमांड लाइन के माध्यम से जावास्क्रिप्ट फ़ाइल चलाता हूं, तो यह ठीक काम करता है। जब मैं कमांड लाइन में php render_html.php चलाता हूं, जो केवल एक exec() चलाता है, तो यह ठीक काम करता है। हालांकि, जब मैं ब्राउज़र में इस PHP फ़ाइल को खोलने का प्रयास करता हूं, तो यह कुछ भी नहीं करता है। मुझे गूंजने के लिए कुछ भी वापस नहीं मिलता है।

मैंने ओएस एक्स पर और मेरे ईसी 2 सर्वर पर स्थानीय रूप से यह परीक्षण किया है, और मुझे एक ही परिणाम मिलता है।

+0

मुझे पता है कि यह एक तरीका है, लेकिन मुझे एक ही समस्या है, लेकिन CentOS में। मुझे लगता है कि CentOS में सूडोर्स फ़ाइल का सिंटैक्स अलग होगा? – TomCDona

+0

हाय वहाँ। मैंने आपके उत्तर परिशिष्ट को उचित उत्तर में ले जाया है, इसलिए एपीआई के माध्यम से स्टैक एक्सचेंज तक पहुंचने वाले लोग सही क्यू/ए अलगाव प्राप्त करते हैं। यदि आप अपना उत्तर देना चाहते हैं, तो कृपया करें, और मैं अपना स्वयं का सीडब्ल्यू संस्करण हटा दूंगा। – halfer

उत्तर

0

यह एक अनुमति समस्या हो सकती है, जांचें कि क्या उपयोगकर्ता को वेब सर्वर चलाने वाले फ़ैंटोमोज निष्पादन योग्य चलाने की अनुमति है।

+1

मैंने निष्पादन योग्य पर अनुमतियों की जांच की थी। वे 755 थे, जो पर्याप्त होना चाहिए। 777 में बदल गया, और अभी भी कुछ भी नहीं। हालांकि धन्यवाद। – bearfriend

0

(ओपी की तरफ से पोस्ट किया गया)।

ऐसा लगता है कि यह एक अनुमति समस्या है। ऐसा लगता है कि अन्य उपयोगकर्ताओं की तुलना में अपाचे का थोड़ा अलग व्यवहार किया जा सकता है? भले ही मानक अनुमतियां किसी भी उपयोगकर्ता को फैंटॉमजेएस एप्लिकेशन तक पहुंचने दें, अपाचे अभी भी असमर्थ था।

इसी तरह के मुद्दों वाले किसी भी व्यक्ति को this question and the answers के माध्यम से पढ़ना चाहिए।

यहां मेरे विशिष्ट मामले (लिनक्स सर्वर पर) के लिए मेरा थोड़ा अनुकूलित समाधान है। अपने sudoers फाइल (/ etc/sudoers) संपादित करें निम्न पंक्ति शामिल करने के लिए:

apache ALL=NOPASSWD: /usr/bin/phantomjs 

मैं Emacs के साथ ऐसा किया, (सी-एक्स सी क्यू केवल पढ़ने के लिए फ़ाइल का संपादन सक्षम करने के लिए)। मुझे इसके साथ कोई समस्या नहीं प्रतीत होती, लेकिन मुझे लगता है कि सुडौर्स को संपादित करने के लिए विसुडो नामक कुछ का उपयोग करने की सिफारिश की जाती है। Emacs मेरे लिए काम किया, लेकिन आप इसे देखना चाहिए।

इसने अपाचे उपयोगकर्ता को इसे सैंटो एक्सेस देकर फैंटॉमजेएस ऐप तक स्पष्ट पहुंच प्रदान की, केवल फ़ैंटॉमजेएस ऐप तक ही सीमित है।

-1

मैंने हाल ही में सेंटोस 7 पर्यावरण में फैंटोमज के साथ काम किया और ओप के समान समस्या का सामना किया। मैंने एक दूसरे के शीर्ष पर स्टैक ओवरफ्लो में पाया समाधान और विधियों का प्रयास किया, इसलिए मुझे पूरा यकीन नहीं है कि किस विधि ने काम किया है या समस्या को हल करने के लिए किन तरीकों से काम किया है। मैंने कोशिश की

  1. द्विआधारी और लक्ष्य js phantomjs को 777 की अनुमति देने और निर्देशिका युक्त (काम नहीं किया)
  2. visudo और कोई पासवर्ड के साथ phantomjs उपयोग करने के लिए एपाचे की अनुमति दे (काम नहीं किया)
  3. अपाचे जोड़ा sys समूह (काम नहीं किया)
  4. selinux को अक्षम करने और सेंट ओएस को पुनरारंभ करने के बाद अक्षम selinux , phantomjs ब्राउज़र में काम करना शुरू कर दिया। : डी: डी
संबंधित मुद्दे