Her insan gibi bizlerin de kodlarımızda hata yaptığımız anlar olabiliyor. İşin en kötü tarafı, yapılan hatanın farkına varamamak.
Sağolsun ziyaretçiler de haberdar etme konusunda hiç de oralı değil. ![]()
Neyseki çoğu sunucuda php kod hatalarını loglayan bir sistem bulunmakta. Bu sistem, hata koduyla ilgili bilgileri error_log adında bir dosyada saklıyor. İyi güzel de, bizim bu error_log dosyasını görebilmemiz için FTP ile siteye bağlanıp, tüm dizinlerde error_log dosyasını aramamız gerekmekte. Bu çok zahmetli bir iş.
Hazırladığım bu araçla bu dertten kurtulacaksınız:
Öncelikle bir önceki yazımda paylaştığım fonksiyonu indirin.
https://soulmy.net/uploads/blog/2019/01/file-and-folder.rar
rar içindeki dosyayı çıkartın.
Şimdi error_log_search.php adında yeni bir dosya oluşturun ve içine,
<?php
include('file-and-folder.php');
?>
yazın.
Şimdi de error_log dosyalarını bulacağımız fonksiyonu yazalım.
<?php
include('file-and-folder.php');
$dir = '/home/*******/public_html/';
function error_log_bul($dir) {
global $dosyalar,$error_log_dosyalari;
all_file_and_folder_search($dir);
$error_log_dosyalari = array();
foreach ( $dosyalar as $gecici => $sef ) {
if ( preg_match("/error_log/", $sef) ) {
$error_log_dosyalari[] = $sef;
}
}
if ( empty($error_log_dosyalari) ) { return false; }
else { return $error_log_dosyalari; }
}
error_log_bul($dir);
if ( !empty($error_log_dosyalari) ) {
foreach ( $error_log_dosyalari as $dosya ) {
echo $dosya."<br/>";
}
} else {
echo 'error_log dosyası bulunamadı.';
}
?>
Sayfanın başındaki $dir değişkenini kendinize göre düzenleyin.
Bunda sonra adres çubuğuna yazıp http://siteadi.com/error_log_search.php taramaya başlayın. (Eğer çok sayıda dosya varsa, tarama işlemi uzayacaktır.)
Bu sayfayı cron-jobs ile her gün 1 kere çalışacak ve oluşan raporu mail adresine gönderecek şekilde geliştirirseniz, çok daha verimli olacaktır.
Cron-jobs ve mail gönderme apayrı bir konu olduğu için burada o konuya girmek istemedim. Sadece işin mantığını göstermek istedim. Aracı geliştirmek sizin elinizde. ![]()
Başka bir yazıda görüşmek üzere kendinize iyi bakın ![]()