Kategoriler
Kodlama

error_log kullanımı (PHP)

PHP’de error_log kullanımı ile alakalı birkaç ipucu. WordPress veya PHP yazılımlar.

Hemen hemen tüm paylaşımlı hosting planlarında PHP error_log başlangıçta varsayılan olarak hata veren kodun yazılı olduğu dosyanın bunduğu dizine error.log dosyası yaratarak onun içerisine hataları yazar, bunu her hata verdiğinde dosyaya tek bir satır ekleyerek sonsuza kadar yapabilir fakat çoğunda varsayılan olarak onun da bir limiti vardır.

WordPress PHP kullanan yazılımların en iyisi ve WordPress’de de varsayılan olarak hatalar site içerisinde gösterilmez PHP varsayılanı olarak ilgili klasörde ilgili .log dosyasına kaydeder.

Sitenizin herhangi bir dizinine içeriği <?php phpinfo(); ?> olan birdosya.php eklerseniz sitenizde çalışan PHP’nin tüm ayarlarını, varsayılan ve değiştirilmiş tüm özelliklerini görebilirsiniz.

Varsayılanlar böyle, daha fazla bilgi için: https://www.php.net/manual/tr/function.error-log.phphttps://www.php.net/manual/tr/errorfunc.configuration.php

error_log fonksiyonunun varsayılan ayarlarını hem PHP ini dosyasına set ederek hem de .htaccess dosyasına kural yazarak değiştirebiliriz.

Benim önerdiğim değişiklikler şöyle:

  1. Sitedeki tüm hataların tek bir yerde görünmesi site dizini içerisindeki birden fazla error_log dosyası olması ve onlara tek tek bulmak ve bakmak gibi zaman kaybından kurtulmak için elzem.
  2. Site içerisinde ziyaretçilere hataları göstermek güvenlik zafiyeti bunu mutlaka kapalı tutmalı (Yönetici login ise açık olabilir).
WordPress için:
Örnek ayar şöyle (.htaccess içerisine):
php_flag log_errors on

php_flag display_errors off
php_value error_log /home/username/public_html/php_error.log
php_value error_reporting -1
Veya WordPress wp-config.php içerisine (ini_set()):
@ini_set('log_errors','on');
@ini_set('display_errors','off');
@ini_set('error_log','php_errors.log'); 

Ayarları herhangi bir PHP site için de kullanabilirsiniz WordPress olması şart değil.

İyi çalışmalar.