2010-02-01 3 views
6

का उपयोग कर PHP को डिबगिंग रिमोटेल मैं अपने गोडाडी होस्टेड सर्वर पर PHP को डीबग करने का प्रयास कर रहा हूं। क्या यह विचार भी तर्कसंगत है, या क्या मुझे स्थानीय रूप से सभी विकास करना जारी रखना है और केवल बदलावों को फिर से अपलोड करना है?ईक्लीप्स

क्या कोई तरीका है कि मैं ग्रहण करने के लिए ग्रहण का उपयोग कर सकता हूं, और किसी तृतीय पक्ष साइट पर होस्ट की गई मेरी PHP स्क्रिप्ट को डीबग कर सकता हूं?

उत्तर

5

हालांकि मैंने रिमोट डीबगिंग के लिए नेटबीन्स और एक्सडीबग का उपयोग किया है, लेकिन ग्रहण पीडीटी और एक्सडीबग का उपयोग करना संभव होना चाहिए। देखें:

एक चेतावनी है, लेकिन। Xdebug को कॉन्फ़िगर करने के लिए आपको php.ini में कुछ सेटिंग्स को संशोधित करने की आवश्यकता होगी - मुझे यकीन नहीं है कि होस्ट किए गए सर्वर पर यह संभव होगा या नहीं। यदि नहीं, तो आपको एक स्थानीय सर्वर होना चाहिए जिसका उपयोग आप डिबगिंग के लिए करते हैं, और आपके "उत्पादन" वातावरण के लिए एक और समाधान पता लगाने की आवश्यकता होगी। जो वास्तव में एक बुरा विचार नहीं हो सकता है, वास्तव में, क्योंकि यह आपको आपकी वास्तविक साइट पर कुछ भी तोड़ने के जोखिम के बिना आपके परिवर्तनों का परीक्षण करने के लिए एक अच्छी जगह देगा।

इसके अलावा, मैं सलाह देता हूं कि आप Netbeans में देखें, अगर प्रयोग करने के अलावा किसी अन्य कारण के लिए और ग्रहण की तुलना में यह क्या कर सकता है। एक अच्छी सुविधा यह है कि आप इसे स्वचालित रूप से ftp (या scp) फ़ाइलों को दूरस्थ साइट पर बदल सकते हैं। तो आप कुछ कोड परिवर्तन कर सकते हैं, डीबग बटन पर क्लिक कर सकते हैं, और अपनी फ़ाइलों को अपलोड करने के लिए एक पल प्रतीक्षा करने के बाद आप दूरस्थ साइट पर कोड के माध्यम से कदम उठा सकते हैं।

+2

लिंक मर गए हैं। –

0

मुझे PHP में चरण-दर-चरण डीबग करने की आवश्यकता नहीं है, लेकिन जब मुझे डीबग करने की आवश्यकता होती है तो मैं उस बिंदु पर चर के आउटपुट स्ट्रिंग्स करता हूं।

हालांकि, एक बात यह है कि मैंने पाया है, लेकिन फिर से इस्तेमाल कभी नहीं किया, FirePHP था:
http://www.firephp.org/

-1

जहां तक ​​मुझे पता है हूँ, यह संभव नहीं ग्रहण में संभव NetBeans में है, यह है, तथापि, , लेकिन जैसा कि नेथन ने कहा, मुझे कभी भी मेरी किसी भी PHP स्क्रिप्ट को रिमोट डीबग करने की आवश्यकता नहीं है।

+2

एक्सडीबग और नेटबीन्स PHP डीबगिंग के लिए बहुत अच्छे हैं। इसमें एसपीपी का उपयोग कर रिमोट फाइलों को स्थानांतरित करने के लिए अंतर्निहित समर्थन भी है। यद्यपि यह कोडइग्निटर जैसे ढांचे को डीबग करने के लिए दर्द का थोड़ा सा हो सकता है जो जीईटी चर का उपयोग नहीं करता है। उस ने कहा, मेरा मानना ​​है कि XDebug को ग्रहण के साथ भी उपयोग करना संभव है ... –

2
  1. जबकि रिमोट डीबगिंग के लिए निश्चित रूप से एक मामला है, तो आपको हमेशा स्थानीय रूप से काम करना चाहिए और फिर अपलोड करना चाहिए। सबसे मामूली परिवर्तनों को छोड़कर कुछ भी स्थानीय रूप से परीक्षण किया जाना चाहिए, फिर सर्वर पर धक्का दिया जाता है - कभी-कभी उत्पादन सीधे, कभी-कभी एक परीक्षण सर्वर ...
  2. हाँ ग्रहण Xdebug के साथ रिमोट डीबगिंग के साथ-साथ ज़ेंड डीबगर से एक को जस्टिन की जांच करता है Zend Debugger के लिए लिंक के साथ ही यह एक। मुझे लगता है कि ज़ेंड में पीडीटी + डीपीएस और ज़ेंड डीबगर के साथ एक सब कुछ है - आपको अभी भी सर्वर पर एक्सटेंशन सेट अप करने की आवश्यकता है (नोट लिंक विंडोज़ पर सेटअप के लिए है लेकिन एचटीई प्रक्रिया समान होनी चाहिए)।
  3. अनिवार्य "Ewww GoDaddy" :-)
+1

"Ewww GoDaddy। Ewww वास्तव में। :) – Alex

+2

तो मुझे गोडाडी के बजाय किसका उपयोग करना चाहिए और ... इसे अच्छे" क्यों "या दो के साथ वापस ले जाएं। – Joshua

+0

@josh: क्योंकि मेरे दिमाग में वे हमेशा होस्टिंग और डोमेन पंजीकरण/हस्तांतरण/सहकर्मियों की समाप्ति के साथ जुड़े रहें। मैं सिर्फ उन पर भरोसा नहीं करता हूं। न ही मैं 1and1 पर भरोसा करता हूं। उसने कहा कि यह मात्रात्मक "ईएएस" नहीं है ... यह वरीयता का विषय है (इसलिए इमोटिकॉन) - आईडी बल्कि मेरे पैसे और मेरे ग्राहकों को लिनोड, सर्वरग्राव, स्लाइसहोस्ट, मीडिया टेम्पल पर डालें या यदि यह महत्वपूर्ण नहीं है और वे एक सुपर कड़े बजट पर हैं - ड्रीमहोस्ट। – prodigitalson

1

वेब सर्वर XDebug स्थापित किया है, तो आप इसके साथ डिबगिंग कर सकते हैं। Searching for it in google लेखों की एक बड़ी संख्या उपज कैसे करें इसे कैसे करें।

व्यक्तिगत रूप से, मैं कोडइग्निटर का उपयोग कर रहा हूं। मैं FirePHP और PQP का उपयोग करके डिबगिंग करता हूं। एक अच्छा इंडेंट कोड लिखने की आदत बनाएं। आपको लगता है कि आपके कोड में कम बग, वाक्यविन्यास और तर्क दोनों, और भविष्य में बनाए रखने में आसान हो सकता है। एक स्थिर सफेद स्थान, या तो टैब या स्थान का उपयोग करें। एक सतत ब्रैकेट शैली का प्रयोग करें।यह आपको सिरदर्द से बचाएगा जब इसे बग के लिए फिर से पढ़ा जाएगा या बाद में और अधिक सुविधा जोड़ देगा।