Ürkütücü WordPress: WordPress Ölüm Beyaz Ekranla Çalışma

Cadılar Bayramı gelecek ve WordPress’in hayatıma getirdiği tüm aşağılık terör anlarını hatırlamak için doğru zaman gibi görünüyor. WordPress’te programlama çoğunlukla eğlencelidir, ancak özellikle çalıştığınızda, bazen anlaşılamayan ve çok şiddetli olamayacak hatalar bulacaksınız. Düzgün çalışmak için üzerinde çalıştığınız bir siteye gerçekten ihtiyacınız varsa, olağanüstü bir deneyim olabilir. Bugün en korkutucu hataları göreceğiz: WordPress of Death (wwsod) Beyaz ekran. Aşağıdaki görünüm:

Tanrım, değil mi? Tıpkı hayaletlere bakmak gibi.
WWSOD’dan bilgi almak WWSOD ile ilgili temel sorun size bilgi vermiyor. WWSOD ile ilgili temel sorun size bilgi vermiyor. Özellikle, WWSOD bir tür hatanın sonucudur (neredeyse kesin PHP), ancak sorunu anlamanızı sağlayacak bir hata mesajı alamazsınız. WWSOD’u yalnızca Site Sunucunuz PHP hatalarını görüntülemeyecek şekilde yapılandırıldığında görürsünüz. Birçok sunucu bu şekilde yapılandırılmıştır, çünkü kullanıcılar zayıf PHP hatalarını ve uyarılarını görmekten hoşlanmadığından ve hata mesajları dosya sisteminizin nasıl ayarlandığını ifade ederek sitenizin güvenliğini tehlikeye atabilir.
Dolayısıyla, beyaz kızlık sorunumuzu çözme amacımız önce incelenecek bir hata mesajı bulmaktır. PHP hata günlüğünü okumak bunu yapmanın bir yoludur, ancak amacımız için en basit seçeneği kontrol edeceğiz: Tarayıcıda görüntülenecek bir hata mesajı alın. Aşağıda, PHP’ye bir hata mesajı görüntülemesini söylemenin iki yolunu göreceğiz. 1. wp-config.php üzerinde wp_debug etkinleştirme hataları görüntülemenin en hızlı yolu wp-config.php’nizi düzenlemektir. WP-Config.php WordPress Kök Kurulum Klasörünüzde olmalı-WP-Admin, WP-Content ve WP-IninCludes klasörünüzle aynı klasör. Diğer PHP dosyalarını düzenlerken wp-config.php’yi düzenlersiniz (örneğin,. metin düzenleyicisi ile) ve değiştirmek istediğiniz çizgi şudur: tanımlama (‘wp_debug’, false); Şuna değiştirilmesi gerekir: tanımlama (‘wp_debug’, true); Bu değişikliği yaptıktan sonra, orijinal konuma değiştirilen WP-Config.php’nizi tekrar kaydedin. Bu nedir? İlk şey birincisi, wwsod’umuz şimdi aşağıdakilerle değiştirildi:

Bu nedenle, Global WP_DEBUG sabitini True olarak ayarlamak, WordPress’e PHP hatalarını tarayıcınızda görünmeye zorlayan birçok hata görüntüleme seçeneğini etkinleştirmesini söyler – sunucunuz tam tersi görünmese bile.

Bu hatayı görüntüleyerek, nereden aranacağını biliyoruz: Function.Php Aktif Teması (On beş Çocuk) On beşli. Ve gerçekten de, bu hatayı yapmak için, işlevlere mantıksız bir PHP yazdım. 2. Lüks insanlar için: PHP’yi düzenleyin. Sunucunuzla yeterli erişim ve rahatınız varsa, php.ini dosyasını düzenleyerek görüntülenecek bir hata mesajı alabilirsiniz. Bu birkaç yerde olabilir, bu nedenle bulmak için phpinfo () adlı bir işlev kullanacaksınız. Bulduktan sonra, komut satırında düzenleyebilir (komut satırını anlıyorsanız) veya metin düzenleyicisini kullanabilirsiniz (dosya sunucusu sistemine iyi erişiminiz varsa). Php.ini’nin kendisinde, düzenleme için ana seçenek Display_errors olarak adlandırılır, yani açık veya kapalı olarak ayarlayabilirsiniz. Ancak, bu dosyadaki diğer hatalarla ilgili birçok harika şey de ayarlayabilirsiniz. Örneğin, error_log seçeneğiyle, metin dosyasına giden yolu verebilirsiniz ve dosya daha sonra Site tarafından üretilen tüm PHP hatalarını kaydeder.
Yerel sunucumda (kişisel bilgisayarımda, WAMP ile düzenlenmiş) Xdebug adlı bir uzantısı bile var, bu da bir hata mesajını okumayı kolaylaştırır ve arandıkları yolu izlemenizi sağlar. İlk hatamızın Xdebug sürümü:
Büyütmek için tıklayın

Bunu doğrudan sitede istemeyeceksiniz (çünkü herkesin dahili siteleri görmesine izin veriyor), ancak bu yerel olarak hata ayıklamak için çok yararlı. WWSOD Tüm Siteler (WP-ADMIN dahil) veya Hatalar yazdığınız yere bağlı olarak sınırlı başka bir not, WordPress Yönetici Alanı (WP-ADMIN) veya yalnızca sitenizin belirli kısımları dahil tüm sitelerinizi WWSOD yapabilirsiniz. Tüm siteler hatırlıyor, örneğin hatalarım function.php. PHP dosyası, sitedeki her sayfa için otomatik olarak çalışıyor. Bu, WWSOD’un yönetici alanı için bile tamamlandığı anlamına gelir. Bu konuda gerçekten korkutucu olan, görünüm> editör kullanarak PHP değişiklikleri yapmak için yönetici alanını kullanıyorsanız ve bir yedekleme yolunuz (özellikle FTP) yoktur (özellikle FTP) etkilenen dosya. Arka uçta Buggy işlevini Fonksiyon.php olarak yazarsanız, siteyi düzeltmek için ihtiyacınız olan siteyi ve araçları silebilirsiniz. Başka bir deyişle, WordPress görünüm düzenleyicisine dikkat edin! Ancak, diğer değişiklikler sadece sitenin belirli bölümlerini silme. Buggy kodu sayfa.php, örneğin, yalnızca sayfa türlerini (sitenizle ilgili sayfalar gibi) siler, çünkü yalnızca bir sitedeki bu sayfa sızdırılan kodu kullanmaya çalışan sayfa. Örneğin, yönetici alanınız asla Page.php kullanmaz, bu nedenle Buggy dosyalarının nasıl olursa olsun yine de devam edecektir.

Yani bazı hataların neden tüm siteleri sildiğini ve bazılarının sınırlı olduğunu merak ettiyseniz, bu sizin cevabınızdır. WWSOD Yarı Yolda, başlangıçta iyi olan bahçede neyin yanlış olduğunu merak ediyor olabilirsiniz, sonra ortada durun:
Bir kez daha, hata ayıklamayı etkinleştirin (wp_debug, php.ini veya diğer yöntemler aracılığıyla) bu görüntüyü biraz netleştirin: Bu, bir sayfa türü yazısı oluşturan kodun ortasında yazdığım işlevlere uygundur (sayfa hakkında sayfa gibi biz). Yalnızca işlevi şöyle diyor: Trouble_time (); Bu işlev, gördüğümüz ölümcül hatalara yol açan hiçbir yerde belirlenmez.
Şimdi – neden toplam beyaz ekran değil, önce sayfanın bir parçasını alıyoruz? Bu, birkaç kriter karşılandığında olur:
PHP sayfası oluşturma işleminin ortasında meydana gelen PHP hataları yazıyorsunuz

Hataları “ayrışma hataları” değildir – PHP neden bahsettiğinizi bilmiyorum çünkü sözdizimi yazmak yanlışsınız – daha ziyade PHP tarafından anlaşılabilecek ancak ne yapacağını bilmeyen bir hata. Bu örnekte, sözdizimimiz doğrudur, ancak PHP’nin almasını istediğimiz işlev orada değildir.

Spook için teşekkürler, wwsod! Beyaz ekran WordPress, bana ruhu bulmak için bazı iyi fırsatlar verdi ve ıslak ıslatan kıyafetleri değiştirmek için çok şey verdi. Umarım bugünün makalesi, WWSOD etkinliğinin eğlenceli bir programlama hiccup (ancak çözülebilir) olarak tadını çıkarmanıza yardımcı olacaktır – Cadılar Bayramı’nın zevkini yıl boyunca genişleten bir şey – varoluşsal bir terörizm olarak değil.
Okuduğunuz için teşekkürler! Kredi görüntüsü: Ray Bodden

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir