मैं बीमा करना चाहता हूं कि a custom PHP error handler का उपयोग करके कोई दौड़ की स्थिति शुरू नहीं हुई है। इसके लिए मैं जानना चाहता हूं कि क्या मैं error_log() पर भरोसा कर सकता हूं या अगर मुझे कुछ अन्य फाइल-लॉकिंग विधि का उपयोग करने की आवश्यकता है, तो बीमा त्रुटियों को ठीक से लॉग इन किया गया है।क्या पीएचपी फ़ंक्शन error_log() सुरक्षित है?
डिफ़ॉल्ट PHP त्रुटि हैंडलर कैसे काम करता है? क्या यह दौड़ की स्थिति से सुरक्षित है?
उदाहरण के लिए, मैं फ़ाइल (जो त्रुटियों के कारण हो सकता इस सरल संस्करण में खो जाएं)
function log_error($message)
{
if(! $fp = @fopen('/path/to/error.log', 'a'))
{
return FALSE;
}
flock($fp, LOCK_EX);
fwrite($fp, $message);
flock($fp, LOCK_UN);
fclose($fp);
return TRUE;
}
लॉक करने के लिए है या मैं सिर्फ error_log कॉल कर सकते हैं करते हैं?
error_log($message, 0);
error_log ($ message, 0) http://php.net/error-log निर्देश का उपयोग करेगा, इसलिए आपको इसे सही सेट करना होगा। यदि आप वहां syslog का उपयोग करते हैं, तो आपको ठीक होना चाहिए: http://stackoverflow.com/questions/1163194/syslog-r-for-linux, लेकिन आपको हमारे सिस्टम पर syslog संस्करण (अधिकांश सिस्टम पर सुरक्षित) जांचना चाहिए। – XzKto