2012-02-07 25 views
35

ऊपर हाल ही में जब तक, मैं कोड PHP में (नोटपैड के माध्यम से ++) लेखन किया गया है और आईआईएस में लॉग की जाँच करके डिबगिंग (होगा प्यार है कि वेब मंच संस्थापक); मैंने तब से एक अधिक कुशल कोड-लेखन/परीक्षण वातावरण में अपडेट करने का निर्णय लिया है, और PHPStorm के साथ कई पलों के लिए खेलने के बाद, इसे खरीदने का फैसला किया और इसे आज़माएं। तब से, मुझे एहसास हुआ है कि जहां तक ​​ट्यूटोरियल और पैदल चलने वाले चिंतित हैं, पीएचपीएसटॉर्म थोड़ा सा आ रहा है। मैनुअल एक नज़र (RTFM, मुझे पता है) दिया, और चाहने आने के बाद, मैं पूछने के लिए तो मैं अपने आप को अध्ययन करने के लिए नहीं नफरत रोक सकता है अगर वहाँ किसी को भी XDebug साथ PHPStorm की स्थापना के माध्यम से मुझे पकड़ हाथ चाहते हैं करना चाहते हैं अंतर्निहित सिस्टम अच्छी तरह से पर्याप्त है, और कोडिंग पर वापस जाओ।PHPStorm + XDebug सेटअप पूर्वाभ्यास

टीएलडीआर; क्या कोई PHPStorm + XDebug सेट अप करने के लिए विस्तृत वॉक-थ्रू पोस्ट कर सकता है? मेरे हिस्से पर अधिकतम स्तर की मूर्खता मानें (मैं आम तौर पर एएसपी.नेट दुनिया में सक्षम होने से अधिक हूं, लेकिन मैं आमतौर पर PHP दुनिया में समुद्र-उत्सर्जित स्पंज के कुछ रूपों से जुड़े खुफिया स्तर तक पहुंच रहा हूं)

।। (नोट:Updated version of the guide is here) पर्यावरण विंडोज 7 अंतिम (64-बिट) आईआईएस & पीएचपी स्थापित

+0

नहीं अपने प्रश्न के लिए एक सीधा जवाब है, लेकिन सभी प्रमुख ब्राउज़रों जो इसे आसानी से अपने डिबग सत्र से कनेक्ट करने के बनाने के लिए उपलब्ध XDebug सहायकों के एक नंबर रहे हैं। क्रोम के लिए https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc देखें। – keithl8041

+0

आप नोटपैड से PHPStorm तक गए :) :) lol – Datadimension

उत्तर

11

यह Xdebug, PhpStorm के साथ काम सिर्फ follow this guide carefully प्राप्त करने के लिए वास्तव में आसान है के साथ है

और अधिक उन्नत विषयों के लिए read this

+0

क्या मुझे XDebug का टीएस या गैर-टीएस संस्करण डाउनलोड करना चाहिए? स्वचालित निर्देश जनरेटर "php -i" जानकारी से उपयोगी कुछ भी पार्स नहीं कर सकता है। – user978122

+0

यह आपके पास मौजूद PHP संस्करण पर निर्भर करेगा, एक डमी पेज पर phpinfo() के आउटपुट की जांच करें या इसे 'php -i' से बाहर निकालने का प्रयास करें। – CrazyCoder

+0

हम्म। थ्रेडेड संस्करण सबसे उपयुक्त प्रतीत होता है, लेकिन इंस्टॉल निर्देशों की कमी है ... – user978122

28

मुझे CrasyCoder की पोस्ट पर आंशिक रूप से आधारित एक अधिक आधुनिक और आसान समाधान मिला है। अपने ब्रांड नए php स्थापना, php.ini शामिल नहीं है

  1. तो php.ini-विकास का नाम बदलने php.ini को
  2. की मदद से xdebug स्थापित करें: चरणों आपको बस इतना करना अनुसरण कर रहे हैं विज़ार्ड: http://xdebug.org/wizard.php शाब्दिक रूप से इसकी सिफारिशों का पालन करें। xdebug.remote_enable = 1
  3. जाओ PhpStorm की सेटिंग पर: सेटिंग-> php
  4. अपने php.ini में स्ट्रिंग रखो। Php युक्त निर्देशिका का चयन या चयन करें। स्ट्रिंग (जहां xxx स्थापित संस्करण के लिए खड़ा है)
  5. यहां से अपने पसंदीदा ब्राउज़र के लिए एक्सटेंशन इंस्टॉल करना: सुनिश्चित करें कि आप देख 'Xdebug xxx डिबगर': सुनिश्चित http://xdebug.org/docs/remote
  6. मुख्य मेनू (नहीं सेटिंग विंडो) से 'रन के लिए जाना -> कॉन्फ़िगरेशन संपादित करें 'और नया' PHP बिल्ट-इन वेब सर्वर 'कॉन्फ़िगरेशन जोड़ें। अपने प्रोजेक्ट की निर्देशिका में 'दस्तावेज़ रूट' को इंगित करें। पोर्ट नंबर नोट करें।
  7. क्रोम ब्राउज़र: विस्तार ऑम्निबॉक्स की दायीं ओर में थोड़ा बग पर दबाव और डीबग विकल्प का चयन करने के लिए सक्षम। अन्य ब्राउज़रों के एक्सटेंशन को समान रूप से काम करना चाहिए।
  8. PhpStorm के मेनू में सक्षम 'भागो -> प्रारंभ पीएचपी डिबग कनेक्शन के लिए सुनो' विकल्प।
  9. PhpStorm में अपने कोड में एक ब्रेकपाइंट सेट करें।
  10. रन (नहीं डिबग) विन्यास चरण 6.
  11. आपके ब्राउज़र स्थानीय होस्ट करने के लिए जाने में में बनाया: बंदरगाह है जहां 'पोर्ट' कदम 6. से बंदरगाह है आपका PhpStorm ब्रेकप्वाइंट पर बंद कर देना चाहिए और आप कुचलने शुरू कर सकते हैं आपके कोड में कीड़े।

कि ध्यान में रखते हुए:

कदम 1-5 php स्थापना प्रति एक बार किया जाता है।
चरण 6 प्रति phpStorm प्रोजेक्ट में एक बार बनाया जाता है।
कदम 7-8 debuggin सत्र में एक बार किया जाता है।
चरण 9-11 प्रत्येक प्रोग्राम चलाए जाते हैं।

+0

अच्छा समाधान, धन्यवाद। लेकिन: "त्रुटि: अंतर्निहित वेब सर्वर केवल PHP 5.4 के बाद उपलब्ध है" मेरा 5.3.8 है ... – Ralf

+0

कृपया यह न मानें कि हर कोई PHP के अंतर्निर्मित वेबसर्वर का उपयोग कर रहा है। मौजूदा/कॉन्फ़िगर किए गए Nginx और FPM कॉन्फ़िगरेशन के साथ इसका उपयोग करने के लिए निर्देशों की आवश्यकता है। – Morgon

+0

मुझे चरण 8 याद आया (दोह!) धन्यवाद श्रीमान! –

7

मैं काफी कुछ मुसीबतों जब मैं छुआ XDebug दूरस्थ कल पहली बार डिबगिंग था।

कुछ सामान्य संकेत, आप विभिन्न ट्यूटोरियल और गाइड के साथ वैसे भी बहकर कर रहे हैं।

  • पीएचपी पर आपका XDebug विन्यास/Aache पक्ष:
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.idekey = PHPSTORM
    xdebug.remote_connect_back = 1
  • आप की जरूरत है या तो उपर्युक्त के रूप में remote_connect_back का उपयोग करें (सावधान रहें, इसका मतलब है कि अन्य लोग सक्षम होने पर भी आपके सर्वर को डीबग कर सकते हैं) या आप अपना आईपी पता (remote_host) निर्दिष्ट करते हैं।
  • क्लाइंट साइड पर आपको पोर्ट 9000 के आगे अपने राउटर की आवश्यकता है!
  • आप अपने फ़ायरवॉल में इनकमिंग कनेक्शन (मेरे लिए Windows 8 पर डिफ़ॉल्ट रूप से सक्षम नहीं किया गया था) के लिए PHPStorm अनुमति देनी होगी। या तो पोर्ट 9000 या ऐप खोलें।
  • PHPStorm पर डीबग विन्यास में जाकर डिफ़ॉल्ट डिबग (PHPUnit!) का उपयोग उपयोग "पीएचपी दूरस्थ डिबग" (भागो/डीबग विन्यास -> ऊपरी बाईं ओर धन चिह्न) नहीं करना सुनिश्चित करें
  • आप बता करने की आवश्यकता होगी यदि आप यहां कोई त्रुटि करते हैं (और उसे भूल जाते हैं) तो आपको अपने प्रोजेक्ट का पूर्ण पथ वेबसर्वर पर पोंटटॉर्म करें, फिर भी आपको एक प्रॉम्प्ट मिलेगा।
  • अब PHPStorm में अपनी परियोजना जबकि होने सक्षम "कनेक्शन के लिए सुनो" और अपने कोड में एक ब्रेकपाइंट डाल डिबग करें।
  • अपने webbrowser जबकि एक कुकी होने अपनी वेबसाइट/php फ़ाइल को खोलने के सक्षम होने के साथ कि डिबगर शुरू होता है। (अधिकांश मामलों में कुकी सबसे अच्छा तरीका है)। आप एक बुकमार्क (phpstorm डीबगिंग बुकमार्क के लिए गूगल) या एक एक्सटेंशन का उपयोग कर सकते हैं।

मार्गदर्शिकाओं का पालन करने के बाद भी, मैंने उपर्युक्त बिंदुओं में से कई को याद किया। मुझे आशा है कि मैं संघर्ष कर रहा :)

+0

प्लस xdebug.remote_connect_back = 1 भाग के लिए एक है! धन्यवाद – rfsbsb

+0

सेटिंग से सावधान रहें, यदि आप इसे गोपनीय रूप से – John

7

1. xdebug मॉड्यूल(मैक स्थापना चरणों)
1.1.1 स्थापित के कुछ घंटे बचा सकता है। जाँच क्या PHP संस्करण यू php --ini का उपयोग कर R (भरी हुई फ़ाइल देखें)
1.1.2। brew search xdebug
1.1.3। ब्रू इंस्टॉल phpXX-xdebug
1.1.4। विवरण देखें: php -i | grep xdebug
1.2। सर्वर को पुनरारंभ करें
1.3। विन्यास
1.3.1। sudo find /usr -name 'xdebug.so'
1.3.2। सटीक एक के पथ कॉपी आप
example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3 की जरूरत है।
subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4: विस्तार से संबंधित विन्यास फाइल जो स्वचालित रूप से मुख्य php.ini को इंजेक्ट किया जाना चाहिए संपादित करें।zend_extension जोड़ने होने के लिए = पथ

[xdebug] 
zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so" 

सामान्य फ़ाइल ऊपर की नकल की कुछ इस तरह होना चाहिए:

[xdebug] 
zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" 


xdebug.remote_enable=1 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler="dbgp" 
xdebug.remote_autostart=1 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp" 
xdebug.idekey=PHPSTORM 

2. जाँच अपने PHP संस्करण
php --ini
3. सेटअप आईडीई सेटिंग्स
प्राथमिकता> भाषाएं और ढांचे> PHP>
3.1। इस प्रोजेक्ट
3.2 के सही PHP संस्करण में भाषा स्तर सेट करें। एक दुभाषिया सेट करें (PHP निष्पादन योग्य की बिन निर्देशिका कहां से पैरेंट निर्देशिका सेट करें)
3.2.1। क्लिक करें ... बटन> + बटन क्लिक करें> अन्य स्थानीय> सेट पीएचपी उत्तेजनीय पथ,
टर्मिनल में पथ प्रकार खोजने के लिए: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. पुनः आरंभ phpstorm
अब 5. इसे बनाते हैं काम
5.1। रन> कॉन्फ़िगरेशन संपादित करें> बाईं ओर स्थित हरे + बटन पर क्लिक करें> बी का चयन करें। PHP वेब अनुप्रयोग
5.2। नाम: कुछ भी उदाहरण {एप्लिकेशन नाम - डीबगर}
5.3। सर्वर: लोकलहोस्ट (ब्राउज़ करें> +> नाम: जो भी | होस्ट: लोकलहोस्ट या 127.0.0.1)
5.4। ठीक है
5.5 पर क्लिक करें। यूआरएल शुरू करें: यूआर प्रोजेक्ट होमपेज का लिंक: http://127.0.0.1:80/SomethingNew/
5.6। ठीक
6. अब विराम बिंदु

+1

रखते हैं तो यह खतरनाक है यदि मैंने विषय पर देखा है। एक जादू की तरह काम करता है! धन्यवाद! –

2

सेट और क्लिक डिबग आप दूरस्थ डिबग की जरूरत नहीं है, तो आप आसानी से अपने परियोजना डीबग कर सकते हैं पर क्लिक करें।

पहले अपनी php.ini सेटिंग्स जांचें।

सुनिश्चित करें कि आपका xdebug dll मौजूद है और सेटिंग्स चालू हैं।

xdebug.remote_enable = on 
xdebug.profiler_enable = on 
xdebug.profiler_enable_trigger = on 
xdebug.profiler_output_name = cachegrind.out.%t.%p 
xdebug.profiler_output_dir = "c:/wamp/tmp" 
xdebug.show_local_vars=0 

फिर शीर्ष नौसेना में रन मेनू पर जाएं। फिर कॉन्फ़िगरेशन संपादित करें और नई कॉन्फ़िगरेशन जोड़ें (किसी अन्य प्रोजेक्ट के लिए अपनी डिफ़ॉल्ट सेटिंग्स को न बदलें)

phpStorm add new configuration नया आइटम बटन जोड़ें पर क्लिक करें।

आप किसी भी सर्वर नहीं है, तो (आम तौर पर विंडोज या लिनक्स पर 80 पोर्ट के साथ स्थानीय होस्ट अंक) नई php वेब अनुप्रयोग को जोड़ने के बाद बटन के रूप में नीचे दिखाया गया है पर क्लिक करें।

enter image description here

xdebug के साथ एक नया सर्वर जोड़ें।

enter image description here

फिर ठीक क्लिक करें और जाँच आपके विन्यास

enter image description here

अंत में, आप आईडीई के दाईं ओर विन्यास देखेंगे।

enter image description here

चलाएं पर क्लिक करें या डीबग बटन।

enter image description here

enter image description here

+0

आप वह आदमी हैं जो मेरी जान बचाते हैं! –