Nasıl Zend çerçevesi tarafından atılan özel durum hataları görüntülemek yok

3 Cevap php

Merhaba ben sadece Zend framework ile çalışan ve kulüpler adamlar benim uygulaması sadece ölür ve çöker bir nesnenin, olmayan özelliği başvuracak çalışırsanız gibi durum hataları yüzlerce karşılaşmaya görünüyor gerçeğini nefret ediyorum. Ancak ben nerede bu hataları ya da nasıl bunları ekranda muktedir görmek için hiçbir fikrim yok. Ben E_ALL gerçek ve hata raporlama Ekran hataları kurdum ama bir hata atıldığında tüm gördüğüm sadece hata görünüşte oluştu veya özel durum burada biraz önce kadar işlenen boş bir sayfa olduğunu.

Benim hata ayıklama saat sürükleyerek Lütfen Yardım

3 Cevap

APPLICATION_ENV ortam değişkeninin değeri nedir.

ZF uygulamasında standart kamu / index.php şunları yapar:

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

Bu, APPLICATION_ENV ayarlanırsa, çevre "üretim" olarak ayarlanmış demektir. Eğer application.ini dosyasına bakarsanız, çevre üretim ise çerçeve hataları bastırır görürsünüz.

Tabii ki, gelişmekte konum, böylece 'geliştirme' ortamı kullanmak istiyorum.

. Apache / mod_php altında çalışan ediyorsanız httpd.conf veya htaccess dosyasında bu ayarlayabilirsiniz:

SetEnv APPLICATION_ENV development

Yoksa her zaman çirkin almak ve kamu / index.php uzakta kesmek olabilir:

// Define application environment

/*defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));*/

// Ugly hack because I'm too lazy to properly set up my environment.
define('APPLICATION_ENV','development');

Zend Tool ile bir uygulama iskeletini oluşturmak, genellikle çalışma zamanı hataları yakalamak ve bunları görüntüler bir hata denetleyicisi olacak. Sen SetEnv APPLICATION_ENV development ve ardından, uygulamanızda / yapılandırmaları / application.ini için timdev tavsiyesi takip etmek isteyeceksiniz:

[development : production]

; This section defines config parameters loaded when the APPLICATION_ENV directive
; is set to 'development' - undefined parameters are inherited from the production
; section.

; show errors and exceptions during development
 phpSettings.display_startup_errors = 1
 phpSettings.display_errors = 1
 resources.frontController.params.displayExceptions = 1

Bir var olmayan özelliğine başvurulması değil, bir durum, PHP bir error olduğunu. Eğer php.ini içinde display_errors etkinleştirmek varsa hatalar html çıktı genellikle. Ama dikkat: onlar da böyle bir görünmez html etiketi içinde oluşabilir:

<div style="display:none"><? echo $object->nonexistant?> ...

... Bu yüzden (firefox CTRL-U) sayfanızın HTML çıkış kontrol ve alt kaydırma gerekir