PHP'nin mkdir işlevi yalnızca doğru ve yanlış döndürür. Sorun yanlış olduğunda döner.mkdir PHP'den başarısız olunca bir neden nasıl bulunur?
Hata raporlaması etkinken koşuyorsam, ekranda hata mesajını görüyorum. Apache günlüğünde de hata mesajını görebiliyorum. Ama mesajın metnini alıp onunla başka bir şey yapmak istiyorum (örn. IM ile kendime gönder). Hata metnini nasıl alabilirim?
Güncelleme: Ayman fikrine ardından, bu geldi: küresel değişkeni kullanması nedeniyle
function error_handler($errno, $errstr) {
global $last_error;
$last_error = $errstr;
}
set_error_handler('error_handler');
if (!mkdir('/somedir'))
echo "MKDIR failed, reason: $last_error\n";
restore_error_handler();
Ancak, ben bunu sevmiyorum. Temiz bir çözüm için bir fikrin var mı? error_get_last()
ait
Soulmerge cevabı daha iyi bir seçimdir çünkü işleyiciyi değiştirmeden hatayı size bildirir. –
Hata işleyicilerinin PHP'de bir yığında saklandığını unutmayın; bu, restore_error_handler() işlevinin, yerleşik eylemci veya başka bir özel işleyici olup olmadığına bakılmaksızın önceki hata işleyicisini geri yükleyeceği anlamına gelir. Bu nedenle, hata işleyicisini geçici olarak set_error_handler() ile değiştirirken bir kayıp olmaz. – soulmerge