Uzak kabuk erişimi olan PHP hata ayıklama

5 Cevap php

Ben PHP öğrenme sürecinin bir parçası olarak, bir paylaşılan barındırma hizmeti kullanarak bir PHP web günlüğü uygulama ile oynuyorum. Servis sağlayıcı uzaktan ssh erişim ile tipik bir lamba ortam var.

Vim PHP kodu keşfetmek benim en iyi arkadaşım olmuştur. Ancak, bir hata durumunda kod şeyler takip etmek bazen zor buldum. Örneğin, bazen bir sayfasını ziyaret ve ben hiçbir hata mesajı ile boş bir tepki var. Nasıl bu hata ayıklama hakkında gitmeli? Herhangi bir alet faydalı olacak?

Benim deneyim C / C + +, Perl ve bazı CGI programlama ağırlıklı olmuştur. Yani PHP :-) Benimle bir çok ferahlatıcı bir deneyim

Bu konularda durumda, ben oynuyorum uygulama Lyceum, ve ben LAMP ortamında kendisini fazla seçenek yok.

EDIT: Ücretsiz yazılım araçları tercih :-)

5 Cevap

Ben barındırma sağlayıcı display_errors iyi bir şey olduğu, kapalı ile PHP kurulum yapılandırılmış varsayalım. Boş sayfaları görüyorsanız nedeni budur. . Yani şu anda en pratik çözüm onu ​​açıyor bir htaccess dosyası var olacaktır:

php_flag display_errors on

Ayrıca error_reporting uygun bir değer gerekir:

php_flag error_reporting "E_ALL | E_STRICT"

Neyse, kullanıcıların web sitesine erişmek icar önce bu kapatmayı unutmayın.

Avans hata ayıklama için ben Xdebug editörün olarak Eclipse PDT veya NetBeans IDE with PHP support ile sunucuda yüklü tavsiye ederim. Her ikisi de hata ayıklama için iyi müşterileri vardır, ama ben gerçekten herhangi bir kuruluşu kendi canlı sunucularında Xdebug yüklemek olacağını sanmıyorum. Eğer bir geliştirme ortamı yoksa Yani hemen hemen günlük fonksiyonları ile kalacaksın.

(Örnek için XAMPP, yoluyla) kendi yerel kalkınma ortamına erişim alma XDebug yüklemeye izin verir.

PhpED bunu ayıklamak izin, ama aynı zamanda Eclipse'in PDT Çevre olacaktır.

Eğer bilgi giriş için yönetebilirsiniz özellikle eğer düzenleme php ini yapılandırma dosyası üzerinden izleme ve oturum hata, hem de iyi bir yoldur. Ayrıca, örneğin, izleme ifadelerini ekleyerek ve FirePHP kullanmayı düşünün.

Şahsen, ben değil vim daha jEdit öneriyoruz. SFTP eklentisi (iyi, yük ve kaydetmek) düzenlemek, doğrudan sunucu ve PHPParser eklentisi PHP belgeler bazı hata tanıma verecektir sağlar.

Hiçbir hata mesajları ile bir boş sayfa alıyorsanız Ayrıca, şans bu mesajları sadece sizden gizli olduğunu yüksekliği vardır. Hata raporlama sizin config veya bu gibi kod ya, etkin olduğundan emin olun:

// Report all PHP errors
error_reporting(E_ALL);

Hata raporlama etkin ve hala herhangi iletileri görmek, ya enable logging veya olanak yoksa output to the browser.

Eğer boş bir sayfa olsun, o display_errors kapalıyken, çünkü ölümcül bir hata muhtemelen. Varsayılan olarak, PHP Apaçiler hata günlüğüne hataları oturum olacaktır, ama aynı zamanda log errors to a separate log için yapılandırabilirsiniz.

Hata ayıklama için, ayrıca Xdebug içine bakmak isteyebilirsiniz. Bu uzantı etkileşimli hata ayıklama dahil, bir çok şey yapabilirsiniz. Bir istemci ayıklayıcısını kullanmak gerekir, ama bunu yapar vim için bir eklenti var.

NuSphere PhpED deneyin