2010-02-28 9 views
12

मुझे XDebug को सक्षम करने के बाद से कमांड लाइन के भीतर PHP-आधारित उपयोगिताओं को चलाने में कुछ समस्याएं आ रही हैं। यह ठीक चलता है जब एक ब्राउज़र के माध्यम स्क्रिप्ट निष्पादित, लेकिन एक बार मैं एक कमांड लाइन पर एक स्क्रिप्ट को निष्पादित करने की कोशिश है, यह निम्न त्रुटियों फेंकता है:PHP कमांड लाइन मोड में केवल XDebug त्रुटियों को फेंक रहा है

h:\www\test>@php test.php 
PHP Warning: PHP Startup: Unable to load dynamic library 'E:\development\xampplite\php\ext\php_curl.dll' - The specified module could not be found in Unknown on line 0 
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 

h:\www\test> 

स्क्रिप्ट इस के बाद ठीक चलाता है, लेकिन यह कुछ मैं कर सकते हैं है मेरे सिर को चारों ओर लपेटने लगते हैं। क्या यह मेरे php.ini कॉन्फ़िगरेशन में पथ समस्या हो सकती है? मुझे यकीन नहीं है कि अगर ऐसा लगता है कि यह वही त्रुटि फेंकता है, तो इससे कोई फर्क नहीं पड़ता कि मैं @php पर्यावरणीय चर का उपयोग करता हूं।

इसके अलावा, मेरे php.ini के भीतर सभी पथ पूर्ण हैं। वास्तव में यह सुनिश्चित नहीं है कि यहां क्या हो रहा है।

  • के लिए अपाचे
  • द्वारा प्रयोग किया जाता
  • एक और CLI
  • के लिए

एक और या हो सकता है आप Apache द्वारा उपयोग किया पीएचपी के साथ एक ही समस्या है:

+0

यह एकाधिक php.ini के मामले की तरह लगता है, और एक अलग का उपयोग कर सीएलआई इंटरफ़ेस। क्या आप यह देखने के लिए 'phpinfo()' कर सकते हैं कि कौन सी फाइल का उपयोग किया जाता है? –

उत्तर

22

संभावना है कि आप दो अलग अलग .ini फ़ाइलों का उपयोग कर रहे हैं , लेकिन उस चेतावनी को न देखें, क्योंकि यह अपाचे के त्रुटि लॉग में है - और यह केवल एक चेतावनी है।

zend_extension=/.../xdebug.so 

के बजाय:

extension=/.../xdebug.so 

यह वास्तव में क्या त्रुटि संदेश बताता है:


समाधान, मूल रूप से, का उपयोग कर Xdebug विस्तार को लोड करने है Xdebug MUST be loaded as a Zend extension- सिवाय यह आपको नहीं बताता कि यह कैसे करें।


नोट:

  • मैं xdebug.so के लिये परम पथ का उपयोग कर रहा हूँ - आप पहले से ही कर रहे हैं कि, अच्छा है जो (यह वैसे भी आवश्यक है)
  • लेकिन मैं यह भी कर रहा हूँ zend_extension का उपयोग कर: Xdebug एक एक्सटेंशन है जो PHP के ज़ेंड इंजन में गहराई से हुक करता है, जिसका अर्थ है extension का उपयोग करना पर्याप्त नहीं है।

अधिक जानकारी के लिए, और संदर्भ के रूप में, Xdebug के दस्तावेज़ में Installation/activation पृष्ठ देखें।

+0

उपरोक्त और प्रति इंस्टॉल दस्तावेज़ों पर भी ध्यान दें कि आपको PHP के नवीनतम संस्करणों के लिए 'zend_extension' नहीं 'zend_extension_ts' का उपयोग करना चाहिए। मैंने zend_extension_ts को कुछ स्थानों में अनुशंसित देखा है। संदर्भ: http://xdebug.org/docs/install – RightHandedMonkey

+1

विंडोज उपयोगकर्ताओं के लिए एक फुटनोट: xdebug के पथ को उद्धरणों में एक पूर्ण पथ होना चाहिए (उदाहरण के लिए। 'Zend_extension = "सी: \ प्रोग्राम फ़ाइलें \ ..." ') –

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