2011-05-26 15 views
7

मैं व्यस्त Cpanel के लिए इस्तेमाल किया जा रहा करने के बाद अपने ही vps स्थापना की गई है मौजूदा लिपियों के लिए php कोड जोड़ने के बिना स्क्रिप्ट निर्देशिका में फ़ाइल,दुकान पीएचपी त्रुटि लॉग

लेकिन मैं पता लगाने के लिए पीएचपी अनुमति देने का तरीका नहीं कर पा रहे त्रुटियों को फेंकने वाली स्क्रिप्ट के समान निर्देशिका में एक त्रुटि_लॉग फ़ाइल बनाएं।

मैं यह चाहता हूं कि प्रत्येक .php फ़ाइल में कोड की एक पंक्ति जोड़ने के बिना मुझे ऐसा करना पड़े। सीपीएनल में यह किसी भी तरह से बॉक्स से बाहर काम करता है।

उदाहरण:

त्रुटि में: /var/www/webapp1/index.php लॉगफ़ाइल स्थान: /var/www/webapp1/error_log

त्रुटि में: /var/www/info/system/test.php लॉगफ़ाइल स्थान:

मूल रूप से मैं php के लिए प्रत्येक निर्देशिका में एक error_log फ़ाइल संग्रहीत करना चाहते हैं उस निर्देशिका में स्क्रिप्ट्स।

अतिरिक्त जानकारी:

  • एकल VPS खाता
  • डेबियन GNU/लिनक्स 6.0 'निचोड़'
  • अपाचे 2.2.16

उत्तर

1

मूल रूप से मैं php एक error_log संग्रहीत करना चाहते हैं उस निर्देशिका में स्क्रिप्ट के लिए प्रत्येक निर्देशिका में फ़ाइल

मान लें कि आप अपाचे का उपयोग कर रहे हैं, तो आप इस व्यवहार को पूरा करने के लिए वर्चुअलहोस्ट में अपाचे के त्रुटि_लॉग निर्देश का उपयोग कर सकते हैं। अगर स्मृति मुझे सही सेवा देती है, तो PHP स्वयं यह तय नहीं करता है कि यह कहां त्रुटियों को संग्रहीत करता है।

+0

जो अभी भी मेरे प्रश्न का उत्तर नहीं देता है, मैं इसे उसी निर्देशिका में त्रुटि लॉग को सहेजने के लिए कैसे सेट कर सकता हूं जैसे प्रत्येक अलग निर्देशिका जैसे सीपीएनल करता है? – Mervin

2

इस के लिए, वहाँ की तरह php.ini में error_log निर्देश है:

error_log string 

कहाँ स्ट्रिंग फ़ाइल जहां स्क्रिप्ट त्रुटियों लॉग इन होना चाहिए के नाम का प्रतिनिधित्व करता है। फ़ाइल वेब सर्वर के उपयोगकर्ता द्वारा लिखने योग्य होना चाहिए। यदि विशेष मान syslog का उपयोग किया जाता है, तो त्रुटियों को इसके बजाय सिस्टम लॉगर को भेजा जाता है। यूनिक्स पर, इसका अर्थ है syslog (3) और विंडोज एनटी पर इसका मतलब है लॉग इवेंट। सिस्टम लॉगर विंडोज 95 पर समर्थित नहीं है। यह भी देखें: syslog()। यदि यह निर्देश सेट नहीं है, तो SAPI त्रुटि लॉगर में त्रुटियां भेजी जाती हैं। उदाहरण के लिए, यह सीएलआई में अपाचे या stderr में एक त्रुटि लॉग है।

+1

जो अभी भी मेरे प्रश्न का उत्तर नहीं देता है, मैं इसे उसी निर्देशिका में त्रुटि लॉग को सहेजने के लिए कैसे सेट कर सकता हूं जैसे प्रत्येक अलग निर्देशिका के लिए php स्क्रिप्ट सीपीएनल करता है? – Mervin

+0

अच्छी तरह से - आपको हमें थोड़ा और विवरण देना होगा - ओएस का उपयोग किया गया, आपने वीपीएस का उल्लेख किया - क्या आपके पास प्रत्येक उपयोगकर्ता/एप्लिकेशन के लिए वीपीएस है? आप किस वेबसर्वर का उपयोग करते हैं? –

+0

मैंने विवरण जोड़ा है। – Mervin

4

error_log त्रुटि को उस त्रुटि लॉग के नाम पर सेट करें जिसे आप निर्देशिका में दिखाना चाहते हैं, लेकिन किसी भी स्लैश को न रखें। फ़ाइल उस निर्देशिका में सहेजी जाएगी जहां से स्क्रिप्ट चलती है, इसलिए एक ही निर्देशिका।

error_log = "php_error.log" 
0

संपादित अपने php.ini और uncoment इस:

error_log = php_errors.log 

सहेजें परिवर्तन, अपाचे पुनः आरंभ, खुश हो।

you'r linux, खुले टर्मिनल का उपयोग करते हैं और इस पुनः आरंभ करने के टाइप:

sudo services apache2 restart 

आप आप सेवा के लिए और पुन: प्रारंभ HTTPD या अपाचे

से खोज सकते हैं WHM तक पहुंच नहीं है

यदि आप Easyphp या वर्ट्रिगो का उपयोग कर रहे हैं, तो आप प्रोग्राम को स्वयं कर सकते हैं।

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