2011-10-30 14 views
8

क्या कोई वेब ब्राउज़र में PHP त्रुटि लॉग या अपाचे त्रुटि लॉग देखने का कोई तरीका है?ब्राउज़र में PHP या अपाचे त्रुटि लॉग ऑनलाइन कैसे देखें?

मुझे कई सर्वरों में एसएसएच के लिए असुविधाजनक लगता है और त्रुटि लॉग का पालन करने के लिए "पूंछ" कमांड चलाता है। वहाँ कुछ उपकरण (अधिमानतः खुला स्रोत) है कि मुझे त्रुटि लॉग ऑनलाइन पता चलता है (स्ट्रीमिंग या गैर स्ट्रीमिंग?

धन्यवाद

उत्तर

5

आप अच्छा एक स्क्रिप्ट apache2 से त्रुटि लॉग पढ़ता है कि बनाने के ..

$apache_errorlog = file_get_contents('/var/log/apache2/error.log'); 

अगर इसके काम नहीं कर रहा .. php कार्यों exec या shell_exec और कमांड 'बिल्ली /var/log/apache2/error.log'

संपादित साथ इसे पाने के लिए कोशिश कर रहा है: आप बहु सर्वर है, तो (मैं quess वेबसर्वर के साथ) आप सी कर सकते हैं मशीन पर एक फ़ाइल reate, जब आप उस लिपि (टुकड़ों में बांटा कनेक्शन) के लिए अनुरोध करने आप उस सर्वर

+1

यह चेतावनी बनाने वाला नहीं है जैसे कि 'PHP चेतावनी: file_get_contents (/var/log/apache2/error.log): स्ट्रीम खोलने में विफल: अनुमति अस्वीकृत'? बेशक दिया गया है कि एक बुनियादी सुरक्षा प्रणाली स्थापित की गई है। – padawanTony

5

चूंकि हर कोई clarity का सुझाव दे रहा है, तो मैं tailon का भी उल्लेख करना चाहूंगा। मैंने tailon को clarity पर एक और आधुनिक और सुरक्षित विकल्प के रूप में लिखा था। यह अभी भी विकास के शुरुआती चरणों में है, लेकिन आपको जिस कार्यक्षमता की आवश्यकता है वह वहां है। यदि आप केवल एक लॉग फ़ाइल का पालन करने में रुचि रखते हैं, तो आप wtee का भी उपयोग कर सकते हैं।

1

मैं इस समाधान https://code.google.com/p/php-tail/

यह पूरी तरह से काम कर रहा है मिल गया है। मुझे केवल फाइलसाइज को बदलने की जरूरत है, क्योंकि मुझे पहले एक त्रुटि मिल रही थी।

56  if($maxLength > $this->maxSizeToLoad) { 
57    $maxLength = $this->maxSizeToLoad; 
58    // return json_encode(array("size" => $fsize, "data" => array("ERROR: PHPTail attempted to load more (".round(($maxLength/1048576), 2)."MB) then the maximum size (".round(($this->maxSizeToLoad/1048576), 2) ."MB) of bytes into memory. You should lower the defaultUpdateTime to prevent this from happening. "))); 
59  } 

और मैं डिफ़ॉल्ट आकार चुके हैं, लेकिन यह आवश्यक नहीं है

125  lastSize = <?php echo filesize($this->log) || 1000; ?>; 
0

मैं जानता हूँ कि इस सवाल का एक सा पुराना है, लेकिन (अच्छे विकल्प की कमी के साथ) यह मेरे विचार प्रदान किया इस छोटे (ओपन सोर्स) वेब ऐप को बनाने के लिए। https://github.com/ToX82/logHappens। इसका उपयोग ऑनलाइन किया जा सकता है, लेकिन मैं मूल लॉगिन सिस्टम के रूप में .htpasswd का उपयोग करता हूं। मुझे उम्मीद है यह मदद करेगा।

<?php 

    exec('tail /var/log/apache2/error.log', $error_logs); 

    foreach($error_logs as $error_log) { 

     echo "<br />".$error_log; 
    } 

?> 

आप अपने आवश्यकता के अनुसार html में error_log php चर एम्बेड कर सकते हैं:

2

एक सरल php कोड लॉग इन करें और प्रिंट पढ़ने के लिए। सबसे अच्छा हिस्सा tail कमांड नवीनतम त्रुटियों को लोड करेगा जो आपके सर्वर पर बहुत अधिक लोड नहीं करेगा।

आप tail बदलने के रूप में आप चाहते हैं

पूर्व उत्पादन देने के लिए कर सकते हैं। tail myfile.txt -n 100 // यह अंतिम 100 लाइनें