WordPress Hata günlüğü nasıl kurulur ve kullanılır
Tanıtım
Web sitesini geliştirirken, olası hataları kontrol etmek veya sunucunun sorgularınıza yanıt verdiği başka bir bilgiyi kontrol etmek kötü bir fikir değildir. Bunu yapmanın en iyi yollarından biri WordPress günlüklerini kurmak ve okumaktır. Yazımızda, log dosyalarının çeşitlerinin neler olduğunu, farklı sunucularda nasıl kurulacağını ve web sitenizin farklı yönlerini analiz etmek için bunları nasıl okuyacağınızı anlatacağız.
WordPress hata günlükleri nasıl kurulur

İki ana sunucu türü vardır: Apache ve Nginx . Her biri için WordPress hata günlüğünün nasıl kurulacağını görelim.
Apache, web sunucuları için güçlü bir açık kaynaklı çözümdür. Apache'deki günlüğe kaydetme yetenekleri çok esnektir. Çoğu günlük ayarı seçeneği herhangi bir işletim sistemine uygulanabilir, ancak bazıları yalnızca Unix veya Linux'a özeldir.
Apache, varsayılan olarak, birinin sitesini günlüğe kaydetmek için oldukça iyi yapılandırılmıştır. Standart httpd.conf dosyası, her yönerge için ayrıntılı yorumlar içeren bir günlük bölümü içermelidir. Varsayılan günlük dizini genellikle /etc/httpd/logs içinde bulunur . Şimdi günlük ayarları bölümüne bakalım:
|
1
2
3
4
5
6
7
|
ErrorLog logs / error_log
LogLevel warn
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “%h %l %u %t \”%r\” %>s %b” common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i” agent
CustomLog logs / access_log combined
|
Apache WordPress Hata Günlüğü
Hata günlüğü, Apache'den gelen hatalar, bildirimler, uyarılar vb. gibi mesajları içerir. Bu günlük, sunucu tarafı sorunlarını bulmak ve düzeltmek için çok kullanışlıdır. Genellikle /etc/apache/sites-available/ klasörüne yerleştirilen sitenin Apache yapılandırma dosyasına yazılır. Nasıl kurulacağını görelim:
Hatalarla ilgili tüm bilgileri tek bir günlükte saklamak istiyorsanız bu yönerge yeterli olacaktır. Ancak, her etki alanı için bir hata günlüğü dosyası belirleyebilirsiniz. Bu, <VirtualHost> bölümlerinde yaklaşık olarak şu şekilde yapılır:
|
1
2
3
4
5
|
< VirtualHost 10.0.0.2 >
DocumentRoot “/home/sites/domain1/html/”
ServerName domain1 . com
ErrorLog / home / sites / domain1 / logs / error . log
< / VirtualHost >
|
Sistem yöneticisiyseniz veya sunucuya kök erişiminiz varsa, bu günlükleri izleyebilmeniz gerekir. Bir dosya kullanmanızı öneririz. Ve istemciler için barındırma sağlıyorsanız, hatalarını izleyebilmeleri için her istemci için ayrı bir hata günlüğü ayarlamak daha uygundur.
Günlüğe giren hataların düzeyi şu şekilde ayarlanır:
Hata Türleri
Apache'de aşağıdaki hata seviyeleri tanımlanmıştır:
- emerg – Acil – Sistem çalışmaz;
- uyarı — hata derhal düzeltilmelidir;
- crit kritik bir hatadır;
- hata ;
- uyar – uyarı;
- bildirim – bildirim (normal çalışma);
- bilgi — bilgi mesajı;
- hata ayıklama – hata ayıklama mesajı.
Sonraki tüm seviyelerin öncekileri içerdiğini unutmayın. Yani, uyarı seviyesini ayarlarsak, günlük şu sınıflardan hatalar alacaktır: emerg, alert, crit, error ve warn .
Nginx WordPress Hata Günlüğü
Günlük dosyaları, hataların aranacağı ilk yerdir. Özellikle bir web sunucusuyla ilgiliyse. Nginx'te yalnızca iki ana günlük vardır: hata günlüğü ve erişim günlüğü .
Nginx hatalarının günlüğe kaydedilmesi belirli bir dosyada, stderr'de veya syslog'da gerçekleşir. Web sunucusunun çalışması sırasında oluşan tüm hataları toplar. Varsayılan olarak, genel olarak etkindir:
Yalnızca belirli hataları günlüğe kaydetmek için http, sunucu, akış veya konum bölümüne bir yönerge yerleştirmeniz gerekir. Böylece yalnızca kritik hataları ve alarmları kaydedebilirsiniz
Nginx: Günlük türleri
Hata günlüğü , bir site sorunlarının hatalarını ayıklarken, yeni eklentileri yapılandırırken ve temaları yüklerken çok kullanışlıdır. Yani örneğin sitenizi açtığınızda “Beyaz Ekran Ölümü” Hatası görüyorsanız, yapmanız gereken ilk şey hesabınızda bu site için bir hata günlüğü açmaktır. Hata günlüğü, bir siteyi çalıştırırken veya yapılandırırken hataları izlemenin ve algılamanın en uygun yoludur.
Bir Dışı Erişim günlüğü gösterileri URL her etki alanı için bir zaman damgası ile birlikte erişilmiş IP adresleri ve. Bu, üçüncü taraf log analizörlerinin tespiti ve analizi için ve DDOS saldırısı gibi güvenlik sorunlarının belirlenmesi ve tanımlanması için faydalı olabilir.
Ardından, günlüklerin hesap için toplam disk alanı kotasına dahil edildiğini unutmayın. Sunucunuzda az yer varsa, bu günlükleri periyodik olarak temizlemeniz veya kapatmanız gerekir. Sitenin doğru çalışması (hatasız) ve az sayıda ziyaretçi ile günlükleriniz az olacaktır. Bu yüzden yeterli disk alanı yoksa bunları periyodik olarak temizleyebilirsiniz. Ancak hata günlüğünün veya erişim günlüğünün çok büyüdüğü durumlar vardır. Bazı komut dosyaları düzgün çalışmıyorsa ve her erişildiğinde, günlükte belirtilen bir hata oluşursa, hata günlüğünün boyutu büyük olabilir – böyle bir günlüğün birçok girişi ve buna bağlı olarak büyük bir boyutu olacaktır.
Bir site DDoS saldırısı gibi saldırı altındaysa erişim günlüğü büyük boyutta olabilir.
WordPress Hata günlükleri (Nginx) nasıl etkinleştirilir
Tek bir site için ayrılmış ve ayrı Hata ve Erişim günlüğünü etkinleştirmek için Nginx site yapılandırma dosyasına aşağıdaki kodu eklememiz gerekiyor. Bu dosya genellikle '/ etc/nginx/sites-availble/ ' klasöründe bulunur.
|
1
2
|
access_log / srv / www / test . com / logs / access . log ;
error_log / srv / www / test . com / logs / error . log ;
|
wp-config.php kullanarak günlükler nasıl etkinleştirilir
wp-config dosyası, WordPress'teki siteniz için temel parametreleri ve ayarları içerir. Şu gibi önemli verileri depolar: veritabanına bağlantı ayarları, veritabanı tabloları için bir önek ve WordPress bir alt dizine kuruluysa, yönetici alanına giriş yapmak için bir adres.
Ancak temel ayarlara ek olarak, wp-config diğer parametreleri ayarlamak için de kullanılabilir. Örneğin, hata ayıklama modunu ( wp_debug ) etkinleştirebilir ve alınan tüm verileri hata günlüğüne yazabilirsiniz. Çoğu durumda bu, sitedeki sorunları belirlemeye ve düzeltmeye yardımcı olur.
Her şeyden önce, wp-config.php dosyasının kendisine erişmeniz gerekir. Dosya, WordPress'in kök dizininde bulunur ve onu düzenlemek için bir FTP istemcisine veya cPanel'e erişiminiz varsa Dosya Yöneticisine ihtiyacımız var.
wp-config.php dosyasını açın ve orada “Hepsi bu, düzenlemeyi bırakın! Mutlu bloglar.”
Bu satırın hemen önüne yeni bir kod satırı ekleyin:
|
1
|
define ( ‘WP_DEBUG’ , true ) ;
|
Belki de bu satır dosyada “ FALSE” değeriyle zaten mevcuttur. Bu durumda, onu kopyalamanız gerekmez, sadece FALSE öğesini TRUE olarak değiştirin.
Bu kod ile WordPress hata ayıklama modunu etkinleştireceksiniz. WordPress'in sitedeki tüm uyarıları ve hataları hem yönetici panelinde hem de sitenin kendisinde sayfanın üst kısmında göstereceğine hazır olun.
Bu nedenle genel tavsiye, hata ayıklama modunu kalıcı olarak açık bırakmamak, sadece gerektiğinde kullanmaktır.
Şimdi, günlük dosyasına tespit edilen tüm hataların ve uyarıların kaydını ek olarak eklemek için, aynı wp-config dosyasında, WP_DEBUG satırının hemen altına bir kod satırı daha ekleyin:
|
1
|
define ( ‘WP_DEBUG_LOG’ , true ) ;
|
WordPress Hata günlükleri nasıl görüntülenir?
Komut satırından
Günlükleri SSH konsolundan veya komut satırından görüntülemek için bu örnekte ' tail ' komutunu kullanacağız.
tail komutu, dosyanın son 10 satırını, bu durumda hata veya erişim günlüğünü görüntülemenizi sağlar.
|
1
|
tail / srv / www / test . com / logs / error . log
|
Daha fazla satır görmeniz gerekirse, örneğin 25, o zaman 'n' bayrağını kullanabiliriz:
|
1
|
tail – n 25 / srv / www / test . com / logs / error . log
|
Veya aşağıdaki şekilde:
|
1
|
tail – 25 / srv / www / test . com / logs / error . log
|
Geçebileceğiniz ikinci kullanışlı parametre -f'dir. Bu parametre ile tail, belirtilen son satır sayısını görüntüler ve siz Ctrl+C tuşlarına basana kadar eklenecek satırları okumaya devam eder. Bu, günlük dosyasındaki değişiklikleri canlı olarak takip edebileceğiniz anlamına gelir. Bu, özellikle hataya neden olan URL'yi tam olarak belirlemeye çalışırken yararlıdır. Sayfayı yeniden yükleyebilir ve tam olarak hangi hataları attığını görebilirsiniz:
|
1
|
tail – 5f / srv / www / test . com / logs / error . log
|
İşte bir kuyruk komutu için örnek bir çıktı
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
2018 / 07 / 07 10 : 34 : 21 [ error ] 11738 #11738: *128307 FastCGI sent in stderr: “PHP message: PHP Warning: json_decode() expects parameter 1 to be string, array given in
/ srv / www / test . com / public_html / wp – content / plugins / wpbase – cache / wpbase – cache . php on line 74 ” while reading upstream, client: 124.40.251.253, server: test.com,
request: “ POST / wp – admin / plugins . php ? plugin_status = all &paged = 1 &s HTTP / 1.1 “, upstream: “ fastcgi : //127.0.0.1:9000″, host: “test.com”,
referrer : “https://test.com/wp-admin/plugins.php?plugin_status=all&paged=1&s”
2018 / 07 / 10 02 : 12 : 44 [ error ] 29169 #29169: *16240 FastCGI sent in stderr: “PHP message: PHP Fatal error: Out of memory (allocated 14680064) (tried to allocate 4096 bytes)
in / srv / www / test . com / public_html / wp – content / plugins / jetpack / class . jetpack . php on line 2097 ” while reading response header from upstream, client: 185.85.191.201, server:
test.com, request: “ GET / wp – login . php HTTP / 1.1 “, upstream: “ fastcgi : //127.0.0.1:9000″, host: “test.com”
2018 / 07 / 10 07 : 01 : 31 [ error ] 32488 #32488: *2605 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.79.10, server:
test . com , request : “GET /mlebusik/?action=lostpassword HTTP/1.1” , upstream : “fastcgi://127.0.0.1:9000” , host : “test.com”
2018 / 07 / 11 03 : 59 : 43 [ error ] 10455 #10455: *27706 FastCGI sent in stderr: “PHP message: PHP Fatal error: Out of memory (allocated 2097152) (tried to allocate 16384 bytes) in
/ srv / www / test . com / public_html / wp – includes / general – template . php on line 1507 ” while reading response header from upstream, client: 66.249.79.31, server: test.com, request:
“ GET / robots . txt HTTP / 1.1 “, upstream: “ fastcgi : //127.0.0.1:9000″, host: “test.com”
|
Bir hata günlüğü girişini inceleyelim ve ne anlama geldiğini görelim
|
1
2
3
|
2018 / 07 / 11 03 : 59 : 43 [ error ] 10455 #10455: *27706 FastCGI sent in stderr: “PHP message: PHP Fatal error: Out of memory (allocated 2097152) (tried to allocate 16384 bytes) in
/ srv / www / test . com / public_html / wp – includes / general – template . php on line 1507 ” while reading response header from upstream, client: 66.249.79.31, server: test.com, request:
“ GET / robots . txt HTTP / 1.1 “, upstream: “ fastcgi : //127.0.0.1:9000″, host: “test.com”
|
- 2018/07/11 03:59:43— Hatanın oluştuğu zaman damgası
- [hata] —Tür – Hata. Bu ayrıca Bildirim, Uyarı vb. olabilir;
- “PHP Ölümcül hata: Bellek yetersiz….” – Hata mesajı;
- "66.249.79.31" — İsteğin kaynaklandığı IP;
- [07/Aug/2013:23:04:22 +0000] — talep tarihi ve saati;
- GET /robots.txt HTTP/1.1 — istek;
- host: “test.com” — Alan adı;
Apache Hata Günlüğü Örneği:
|
1
2
3
4
|
site . com [ Sat May 31 12 : 07 : 10 2008 ] [ error ] [ client 127.0.0.1 ] File does not exist : / srv / www / test . com / public_html / favicon . ico
site . com [ Fri Aug 05 13 : 50 : 37 2011 ] [ alert ] [ client 127.0.0.1 ] / srv / www / test . com / public_html / . htaccess : RewriteRule : cannot compile regular expression
‘^edit_serv/(.*):([0-9]{2,20}+)/$’
|
Günlükler, isteğin kaydedildiği alan adını, isteğin zamanını, erişimin yapıldığı IP adresini ve doğrudan hata metnini içerir.
FTP kullanarak WordPress Hata günlüğünü görüntüleyin

WordPress Hata günlüğüne erişmek ve günlük dosyalarına erişmek için yeterli izne sahip bir FTP kullanıcı kimliğiniz varsa, o zaman FileZilla gibi bir FTP İstemcisi kullanarak oturum açabilir ve ardından Hata günlüğü Dizinine gidip onu indirebilir veya doğrudan bir dosyada açabilirsiniz. Seçtiğiniz editör.
WordPress hata günlüğü, web sitesi işlemlerini kontrol etmenin harika bir yoludur. Onları ne sıklıkla kullanıyorsunuz?
ev borcu WordPress sitesi