mkdir () bu soru bir hata yakalama hakkında daha düzgün çalışıyor. Bunun yerine dizin var bu baskı Ben sadece özel bir günlüğüne bana bir mesaj yazmak istiyorum. Nasıl bu durum oluştururum.
Uyarı: mkdir () [function.mkdir]: Dosya var
Ben sadece özel bir günlüğüne bana bir mesaj yazmak istiyorum.
çözüm çok kolay. PHP zaten sizin için her şey var:
ini_set('display_errors',0);
ini_set('log_errors',1);
ini_set('error_log','/path/to/custom.log');
or same settings in the php.ini or .htaccess
I think it would be better than write each possible error manually
Eğer (bu hata ama uygulama mantığı parçası değildir olabilir gibi) bu hata günlüğe olmak istemiyorsanız, önce klasör varlığını kontrol edebilirsiniz
if (!file_exists($folder)) mkdir($folder);
else {/*take some appropriate action*/}
Sen display_errors
setting, or case by case by prefixing the function call with an @
karakteri ile (yapılandırma veya çalışma zamanı) küresel hata iletileri bastırmak yoluyla görüntülenmesini hata mesajı durdurabilirsiniz. (Örneğin, @mkdir('...')
).
Daha sonra error_get_last
when mkdir
getirileri ile kontrol edebilirsiniz false
.
Hata günlüğü küresel kurallarının geçerli. Sen error_log
a> ile elle hataları giriş yapabilirsiniz.
Daha fazla okumak için, Error handling üzerine manuel bölümüne bakın.
Edit:
Yorum önerilen olarak, bir özel hata işleyicisi çözüm, aynı zamanda olası, (sizin uygulanmasına bağlı olarak) belki daha sağlam ama kesinlikle daha şık.
function err_handler($errno, $errstr) {
// Ignore or log error here
}
set_error_handler('err_handler');
Eğer açıkça echo sürece bu şekilde, hata mesajı, görüntüler olmaz. Bir özel hata işleyicisi error_get_last
NULL
dönecektir kullanırken olsa da, unutmayın.