इस लेख में मैं आपको बताऊंगा कि 1 सी-बिट्रिक्स सिस्टम में चल रही वेबसाइट के साथ काम करने के उदाहरण का उपयोग करके PhpStorm में कोड को डिबग करना कितना सुविधाजनक है। हम PhpStorm IDE और XDebug डिबगर के साथ काम करेंगे। मुझे लगता है कि XDebug पहले से ही आपके सर्वर पर स्थापित है और आपके पास पहले से ही PhpStorm में एक परियोजना है।
यह लेख उपकरण के इस सेट के साथ उदाहरण प्रदान करता है:
- वेब सर्वर - MAMP प्रो
- XDebug v2.2.3।
- IDE PhpStorm 7.1
- मेरे स्थानीय सर्वर पर ऑनलाइन स्टोर के समाधान के साथ 1C-Bitrix संस्करण 14 स्थापित किया गया।
तो चलो शुरू करते हैं।
विकास के दौरान, आपको अक्सर स्क्रीन पर डेटा प्रदर्शित करने के लिए
print_r () या
गूंज जैसे कार्यों का उपयोग करना पड़ता है। कुछ समय पहले तक, मैंने व्यक्तिगत रूप से इस तरह के कार्यों का उपयोग किया था:
function pre($array) { echo '<pre>'; print_r($array); echo "</pre>"; }
इस फ़ंक्शन ने स्क्रीन पर सरणी मुद्रित की और पहले से ही इस रूप में मैंने इसे पार्स किया और इसे संपादन कोड में दर्ज किया। लेकिन क्या होगा अगर पेज पर विशाल
$ arResult प्रिंट अमान्य है? क्या होगा यदि साइट में पहले से ही आगंतुक हैं और सिस्टम जानकारी प्रदर्शित करना बिल्कुल असंभव है (
एक लेख दूरस्थ डिबग के लिए उपयोगी होगा)? फिर और भी दिलचस्प कार्य जैसे:
function pre2($array) { global $USER; if($USER->isAdmin()) { echo '<pre>'; print_r($array); echo '</pre>'; } }
यह फ़ंक्शन केवल साइट प्रशासकों के लिए प्रिंट प्रदर्शित करता है, जो समस्या को आंशिक रूप से हल करता है, लेकिन इस तरह के समाधान की प्रयोज्यता वांछित होने के लिए बहुत कुछ छोड़ देती है।
XDebug और PhpStorm
ये दो उत्पाद हमें उपरोक्त कार्यों को छोड़ने का अवसर देते हैं और आम तौर पर अनुप्रयोग को डीबग करते समय चर दिखाते हैं और आईडीई में एक सुविधाजनक और पठनीय रूप में सीधे डेटा प्राप्त करते हैं:

स्क्रीनशॉट के ऊपर, हम
$ APPLICATION ऑब्जेक्ट को
/index.php फ़ाइल की डिबग विंडो में देख सकते हैं। हमें ऑब्जेक्ट के बारे में, समूहीकृत रूप में पूरी जानकारी प्राप्त हुई, जबकि हम ऑब्जेक्ट में प्रत्येक तत्व के डेटा प्रकार का निरीक्षण कर सकते हैं। और
(ध्यान!) हमने कहीं भी कोई भी
var_dump () या
print_r () नहीं लिखा है!
XDebug के साथ डिबगिंग के लिए PhpStorm कॉन्फ़िगर करें
इससे पहले कि आप इस तरह के आकर्षण का उपयोग करना शुरू करें, हमें कई क्रियाएं करने की आवश्यकता है:
1. सर्वर पर XDebug कॉन्फ़िगर करें
सबसे पहले, हमें यह सुनिश्चित करने की आवश्यकता है कि
XDebug सर्वर पर स्थापित है। इस लेख में मैं सर्वर पर
XDebug स्थापित करने की प्रक्रिया पर विचार नहीं करूंगा, इस बारे में इंटरनेट पर कई लेख हैं। मैं सिर्फ आपको दिखाता हूँ कि
XDebug को सक्रिय करने के लिए आपको MAMP में क्या करना था:
सभी कार्यों को PHP संस्करण 5.5.3 के निर्माण के लिए php.ini फ़ाइल के साथ किया गया था। स्क्रीनशॉट में नीचे MAMP - में इस फ़ाइल को कैसे प्राप्त करें

इस फ़ाइल में लाइन को रद्द करें।
zend_extension=»/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so»
और एक पंक्ति जोड़ें
xdebug.remote_enable=1

उसके बाद,
phpinfo () हमें यह जानकारी देगा:

XDebug जाने के लिए तैयार है।
2. PhpStorm कॉन्फ़िगर करें
IDE में किसी साइट से डेटा प्राप्त करने के लिए, हमें उनसे दोस्ती करने की आवश्यकता है। पहले आपको ठीक से कॉन्फ़िगर सर्वर की आवश्यकता होती है, जिसे आईडीई तैनाती के दौरान जोड़ता है। सेटिंग पर जाएं
PhpStorm -> परिनियोजन । यहां
वेबसर्वर रूट URL पैरामीटर महत्वपूर्ण है, आपको अपनी साइट के रूट का URL निर्दिष्ट करना होगा। नीचे मेरी सेटिंग्स का एक उदाहरण:

अगला,
PhDStorm में
XDebug को कॉन्फ़िगर
करने के लिए जाएं: मुख्य मेनू
रन -> कॉन्फ़िगरेशन कॉन्फ़िगर करें
डीबग के लिए एक नई सेटिंग जोड़ने के लिए प्लस पर क्लिक करें।
Php वेब अनुप्रयोग सेटिंग्स का चयन

यहां आपको उस टूल को कॉन्फ़िगर करना होगा जिसके साथ डिबगिंग की जाती है, सर्वर सेटिंग्स के बगल में स्थित बटन पर क्लिक करें:

प्लस पर क्लिक करें, साइट के नाम, होस्ट को भरें और
दूरस्थ परिवेश पर क्लिक करें।

वहां हम उस सर्वर का चयन करते हैं जो सूची से ऊपर कॉन्फ़िगर किया गया था और
वैलिडेट पर क्लिक करें

यदि सत्यापन सफल होता है, तो हम डिबगिंग के लिए तैयार हैं। हम सभी सहेजे गए सेटिंग्स को लागू करते हैं और संपादक पर लौटते हैं।
3. ब्रेकप्वाइंट
वर्तमान कोड में चर के मूल्यों का पता लगाने के लिए, हमें अपनी आईडीई को बताने की आवश्यकता है जिसमें कोड में सटीक स्थान है जिसे हम उन मूल्यों को प्राप्त करना चाहते हैं जिनकी हमें आवश्यकता है। इसके लिए, ब्रेकपॉइंट की कार्यक्षमता प्रदान की जाती है। Php कोड की वांछित लाइन का चयन करें और लाइन नंबर के दाईं ओर क्षेत्र पर क्लिक करें।

4. डिबग लॉन्च
इसके बाद, आपको 9000 पोर्ट पर सुनने को सक्षम करने की आवश्यकता है, जिसमें स्क्रिप्ट चलाने पर XDebug एक प्रतिक्रिया भेजेगा, और बाईं तरफ हरे बग पर क्लिक करें (PhpStorm के विंडोज़ संस्करणों में बटन स्थान भिन्न हो सकते हैं)।

बग पर क्लिक करने के बाद, हमें एक ब्राउज़र खोलना चाहिए

और कुछ सेकंड के बाद PhpStorm एक डिबग पैनल के साथ फिर से खुलता है, जहां कोड प्रोसेसिंग के समय सभी चर के मान होंगे, ब्रेकपॉइंट की जगह
