2011-06-07 14 views
5

PHP लॉग प्रारूप में चेतावनी के लिए तिथि शामिल नहीं है। उदाहरण के लिएPHP लॉग: चेतावनी प्रारूप

PHP Warning: Cannot modify header information... 

में चेतावनी होने पर कोई तारीख नहीं है।

क्या चेतावनी प्रारूप को बदलने का कोई तरीका है, या कम से कम लॉग में तारीख है? (यदि यह महत्वपूर्ण है तो php-fpm का उपयोग करना)।

उत्तर

2

आप निश्चित रूप से set_error_handler का उपयोग करके अपने स्वयं के त्रुटि हैंडलर को परिभाषित कर सकते हैं। सरलीकृत उदाहरण:

function handler($errno, $errstr, $errfile, $errline, $errcontext) { 
    $message = date('Y-m-d H:i:s') . ": $errstr in $errfile at $errline\n"; 
    file_put_contents('error.log', $message, FILE_APPEND); 
} 

set_error_handler('handler'); 
+0

धन्यवाद। लेकिन php.ini से कुछ है? हैंडलर func/'set_error_handler' हर समय बुलाया जाएगा। –

+0

नहीं कि मुझे पता है, नहीं। http://www.php.net/manual/en/ini.list.php यदि आपका त्रुटि हैंडलर हर समय बुलाया जाता है तो आपको अपने ऐप को ठीक करना चाहिए। ;- पी लेकिन अगर यह भी है, तो मुझे इसके साथ एक बड़ी समस्या नहीं दिख रही है। – deceze

+0

हर समय मतलब है कि प्रत्येक स्क्रिप्ट को इसे चलाने के लिए है। निष्पादन के अनुसार यह शायद एक बड़ा मुद्दा नहीं है, लेकिन 'php.ini' के माध्यम से एक वैश्विक समाधान किसी भी आवेदन के लिए काम करेगा, भले ही वे' set_error_handler' कॉल को याद करते हैं। –

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