Sunucunun hata günlüğüne bir satır koymak için PHP'nin error_log () işlevini kullanın. Ancak, bu yöntem bir e-posta göndermez.
İlk olarak, bir hatayı tetiklemek için:
trigger_error("Error message here", E_USER_ERROR);
Varsayılan olarak bu, sunucunun hata günlüğü dosyasına gider. Apache için ErrorLog yönergesine bakın . Kendi günlük dosyanızı ayarlamak için:
ini_set('error_log', 'path/to/log/file');
Seçtiğiniz günlük dosyasının zaten var olması ve sunucu işlemi tarafından yazılabilir olması gerektiğini unutmayın. Dosyayı yazılabilir yapmanın en basit yolu, sunucu kullanıcısını dosyanın sahibi yapmaktır. (Sunucu kullanıcısı, işletim sistemi dağıtımınıza bağlı olarak hiç kimse, _www, apache veya başka bir şey olabilir.)
Hatayı e-posta ile göndermek için özel bir hata işleyici kurmanız gerekir:
function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message);
mail('you@yourdomain.com', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
Daha fazla bilgi için lütfen ilgili PHP belgelerine bakın.