2014-06-19 9 views
5

कॉन्फ़िगर करें this tutorial के अनुसार डीबगिंग के लिए मैं अपने phpStorm को कॉन्फ़िगर करने का प्रयास करता हूं।phpStorm - xDebug

मेरे पूरी परियोजना C:\work\Projects\xampp\htdocs\myCode

में स्थित है phpStorm में मैं पालन करने के लिए किया था -

तहत File > PHP > Servers:

Name: myCodeDebug 
Host:http://localhost/myCode 
Port:80 
Debugger:Xdebug 

सर्वर पर निरपेक्ष पथ: http://localhost/myCode (परियोजना स्थान के रूप में ही) ।

मैं पोर्ट्स 80,443 में Apache सर्वर का उपयोग करता हूं।

मेरे PhpStrom संस्करण 7.1.3

अब मैं कुछ breakpoints निशान है, क्रोम के पास जाकर http://localhost/myCode/ पर नेविगेट लेकिन हालांकि पूरे वेबसाइट लोड मिल गया है किसी भी phpStrom डिबगर promted है।

यहां क्या याद किया गया है और इसे xDebug के साथ कैसे काम किया जाए?

अद्यतन:

निम्नलिखित टिप्पणी में सुझाव दिया है, मैं this tutorial पीछा किया और अब मैं क्रोम एक्सटेंशन - Xdebug

this manual में php -i की सभी सामग्री पेस्ट करें और यह सब कुछ आवश्यक है।

जैसा कि Xdebug generator में वर्णित है, मैंने और stop debugIDE key = PHPSTORM के लिए दो बुकमार्क जोड़े।

मेरे php.ini मेरे पास है -

[XDebug] 
xdebug.idekey = "PHPSTORM" 
xdebug.remote_port = 80 

मैं xampp port 80 साथ काम करते हैं।

अब मैं start to listen to php debug पर start deebug बुकमार्क मारा, phpStrom प्रेस में और php दायरे में किसी भी ब्रेकपाइंट सेट,, डीबग मोड पर Xdebug विस्तार सेट localhost/myCode/index.php ब्राउज़ लेकिन कोई किसी भी डिबगिंग phpStrom में होते है।

इसे सही तरीके से कॉन्फ़िगर कैसे करें?

अद्यतन 2:

तहत cmdphp --version मेरे पास है -

PHP 5.5.11 (cli) (built: Apr 8 2014 15:07:14) 
Copyright (c) 1997-2014 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies 
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans 
इसके अलावा

सभी File | Setting | php | servers में हटाया गया था।

अद्यतन 3:, (व्यक्तिगत विवरण XXXXXXXX लिए बदल गया था)

[यहाँ मेरी phpinfo() है]।

+0

क्या आप अपने php.ini या xxbug.ini के [Xdebug] हिस्से को पोस्ट कर सकते हैं? – s1lv3r

+0

1) अपनी 'सेटिंग्स | हटाएं PHP | सर्वर '- आपने इसे गलत तरीके से कॉन्फ़िगर किया है। 2) इस मैनुअल का उपयोग करें - एक बार डिबग कनेक्शन स्थापित हो जाने पर आईडीई आपके लिए इसे सेट करने में मदद करेगा - http://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Aplication+Debugging+with+Xdebug+ और + PhpStorm। एक अन्य उपयोगी लिंक: http://blog.jetbrains.com/phpstorm/2013/07/webinar-recording-debugging-php-with-phpstorm/ – LazyOne

+0

@LazyOne: धन्यवाद, कृपया मेरा अपडेट देखें। – URL87

उत्तर

7

पहली बात यह है कि आपके php.ini में ऐसा लगता है कि आपके पास xdebug इंस्टॉल नहीं है। तो पहली बात यह है कि आपको Xdebug installation guide पर जाना चाहिए और अपनी php.ini फ़ाइल यहां पेस्ट करें ताकि आपको विस्तृत निर्देश मिल सकें कि इसे कैसे इंस्टॉल किया जाए।

आप इसे सही ढंग से स्थापित कर लेते हैं तो आप अपने php.ini फ़ाइल में नीचे की तरह कुछ होना चाहिए:

xdebug in php.ini

दूसरी बात मुझे लगता है कि अपने xdebug बंदरगाह बदल रहा है। यद्यपि आपका अपाचे 80 पोर्ट पर काम कर रहा है, आपके xdebug के लिए आपको एक और पोर्ट सेट करना चाहिए था।

आपके PHP में।आरं आप उदाहरण के लिए स्थापित करना चाहिए:

xdebug.remote_port=10000 

और पाठ्यक्रम पुनः आरंभ सर्वर (मैं 9000 पोर्ट डिफ़ॉल्ट मैं PhpStorm में अधिसूचना हो रही थी कि इस बंदरगाह व्यस्त है 10000 बंदरगाह के लिए तो मैं सरल बदली हुई आईडी होना है)।

अब आपको अपनी PhpStorm सेटिंग्स पर जाना चाहिए और PHP -> सर्वर चुनना चाहिए। आपके पास यहां अपना सर्वर और पोर्ट 80 होना चाहिए और आपको यहां "दूरस्थ वातावरण को सत्यापित करना" होना चाहिए। इसे क्लिक करें और नई विंडो में आपको "मान्य" बटन होना चाहिए। यह सुनिश्चित करने के लिए आपको यह ठीक करना चाहिए कि यह ठीक है। उदाहरण के लिए आपको अपनी Xdebug जानकारी प्रदर्शित करनी चाहिए।

अब आपको अपने PhpStorm में (फिर से) सेट करने और PHP -> डीबग चुनने के लिए जाना चाहिए। यहां आपको एक ही पोर्ट होना चाहिए जैसा आपने अपनी php.ini फ़ाइल (10000) में सेट किया है।

phpstorm xdebug

अब मुझे लगता है आप अपनी परियोजना पहले से ही खुला है और कुछ breakpoints बनाया:

मैं अपने PhpStorm में निम्नलिखित सेटिंग इस डिबग सेटिंग में है। आपको टूलबार में "PHP डीबग कनेक्शन के लिए सुनना प्रारंभ करें" - टूलबार में डीबग आइकन से दूसरा।

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

यदि आपको अभी भी समस्या है तो आपको http://www.jetbrains.com/phpstorm/marklets/ पर भी देखना चाहिए - आप ब्राउजर एडन का उपयोग करने के बजाय उन लोगों का उपयोग कर सकते हैं (अपने ब्राउज़र में अपने टूलबार/पसंदीदा में जेनरेट किए गए लिंक जोड़ें)

मैं आपको सलाह दे सकता हूं कि आप यह PhpStorm xdebug tutorial देखें - यह लगभग 1 घंटा है लेकिन आप इससे बहुत कुछ सीखने में सक्षम होना चाहिए।

+0

शुरुआती लोगों के लिए भी एक अच्छा ट्यूटोरियल https://hubpages.com/technology/Local-PHP-Debugging-with-XDebug-Atom-and-XAMPP – arunjos007

2

जबकि PHPStorm के लिए विशिष्ट नहीं है, तो आपने [http://xdebug.org/docs/install#debugclient] से देखा है? यह आपको स्थापना से चरण-दर-चरण कोड के माध्यम से डीबगिंग कोड के माध्यम से चलता है। प्लस, यह xdebug वेबसाइट से है, इसलिए यह एक विश्वसनीय स्रोत है।

Xdebug के डिबगर सक्षम करने के लिए आप php.ini में कुछ विन्यास सेटिंग्स बनाने की जरूरत है आदेश में डिबगर

शुरू। ये सेटिंग्स डीबगर को सक्षम करने के लिए xdebug.remote_enable हैं, xdebug.remote_host और xdebug.remote_port आईपी पता और पोर्ट को कॉन्फ़िगर करें जहां डीबगर को कनेक्ट करना चाहिए। यदि आप चाहते हैं कि पर डीबगर एक त्रुटि स्थिति उत्पन्न होती है (php त्रुटि या अपवाद) तो आपको xdebug.remote_mode सेटिंग को बदलने की भी आवश्यकता है। इस सेटिंग के लिए अनुमत मान "req" (डिफ़ॉल्ट) हैं जो डीबगर एक स्क्रिप्ट प्रारंभ होने पर सत्र शुरू करते हैं, या "jit" जब कोई सत्र केवल त्रुटि पर आरंभ किया जाना चाहिए।

इसे प्राप्त करने और चलाने के लिए बहुत सारी कॉन्फ़िगरेशन सेटिंग्स, टिप्स और सामान्य सहायता मिली है। यह Xdebug के लिए कई ब्राउज़र इंटरफेस के लिंक भी प्रदान करता है, जिसमें (फ़ायरफ़ॉक्स) का उपयोग करने के लिए सबसे आसान (क्या दावा है), The easiest Xdebug। क्रोम, सफारी और ओपेरा के लिए प्लगइन भी हैं।

मुझे बताएं कि आपको और सहायता की आवश्यकता है या नहीं।

फिर, अपने आईडीई के लिए विशिष्ट नहीं हो सकता है, लेकिन यह, सही दिशा में इशारा कर सकता है

+0

मैंने वही काम किया और यह बहुत अच्छी तरह से काम कर रहा है – vnimbala

0

अपने phpinfo() उत्पादन के अनुसार, आप XDebug प्लगइन लोड (अपाचे के लिए की जरूरत नहीं है)। तो जब आप कमांड लाइन से PHP चलाते हैं तो यह दिखाया जा सकता है, जब आप अपाचे के माध्यम से इसे एक्सेस करते हैं तो यह प्रदर्शित नहीं होता है।

अपाचे और PHP कमांड लाइन के लिए mod_php के बीच एक अंतर है। CLI और अपाचे के संस्करणों के लिए अलग php.ini फ़ाइल नहीं है, तो आप अपाचे संस्करण खोजने के लिए और अंत में निम्नलिखित की तरह कुछ जोड़ने की आवश्यकता होगी:

zend_extension=C:\path\to\xdebug.dll 

[xdebug] 
xdebug.idekey = "PHPSTORM" 
xdebug.remote_enable = 1 
xdebug.connect_back = 1 

आप कुछ और जानकारी, PhpStorm खुद की जरूरत है उपयोगी प्रारंभ मार्गदर्शिका प्रदान करता है, और यह available here है।

0

एक्सडीबग पोर्ट 9000 पर डेटा भेजना चाहिए - डिफ़ॉल्ट - जब तक आपके पास पोर्ट 9000 पर कुछ और नहीं चल रहा है, और उसी पोर्ट पर सुनने के लिए PhpStorm सेट किया जाना चाहिए। इस प्रकार वे डिफ़ॉल्ट रूप से होते हैं, इसलिए बस उन्हें न बदलें। पोर्ट 80 आपके वेब सर्वर के लिए है, एक्सडीबग के लिए w/phpStorm संवाद करने के लिए नहीं। यदि आपके पास पोर्ट 80 पर है, तो आपका वेब सर्वर पहले से मौजूद है और एक्सडीबग PhpStorm के साथ संवाद करने में सक्षम नहीं होगा।

आपको इसे अपनी phpStorm सेटिंग्स में बदलने की आवश्यकता है और यदि आपने इसे संशोधित किया है तो शायद XDebug कॉन्फ़िगरेशन में।

+0

मुझे नहीं लगता कि यह सच है। आपको इसे बुकमार्क में बदलने की आवश्यकता नहीं है, क्योंकि वे बस सरल सेट कुकी: 'जावास्क्रिप्ट: (/ **% [email protected]%200.5.2%20*/function()% 20 {document.cookie =' XDEBUG_SESSION = '+' PHPSTORM '+'; पथ = /; ';})() ' –

+0

@ मार्सीनबाबियाक, आह, हाँ, आप कुकी के बारे में सही हैं। मैंने अभी एक्सडीबग पीढ़ी का परीक्षण किया। आपको केवल ज़ेंड डीबगर कुकीज़ के लिए पोर्ट निर्दिष्ट करने की आवश्यकता है। मुझे लगता है कि आपको इसे XDebug में कॉन्फ़िगर करने की आवश्यकता होगी। –