2013-03-10 13 views
9

Zend Framework 2'de bir hata aldığımda, sadece 500 Dahili Sunucu Hatası görüntüleniyor ve Zend Sunucusu hata günlüğünde arama yapmam gerekiyor. benim config/özdevinimli_yükle/yerel.php dosyasına bu koyarak denedim ama çalışmıyor:Zend Framework 2'de PHP hatası raporlamasını nasıl açarım?

return array(
    'phpSettings' => array(
     'display_startup_errors' => true, 
     'display_errors' => true, 
     ), 
); 

cevap

8

ZF2 bunun için yerleşik desteğe (afaik) yoktur. Eğer sahip olduğunuz ve ne tutmak, php.ini kendini bunları belirlemek zorunda, yoksa gerçekten yapılandırma ayarları olarak tedarik edebilmek istiyorsanız index.php

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', true); 

bunları ediyorum ya o

public function onBootstrap(EventInterface $e) { 
    $app = $e->getApplication(); 
    $sm = $app->getServiceManager(); 
    $config = $sm->get('Config'); 
    $phpSettings = isset($config['phpSettings']) ? $config['phpSettings'] : array(); 
    if(!empty($phpSettings)) { 
     foreach($phpSettings as $key => $value) { 
      ini_set($key, $value); 
     } 
    } 
} 

düzenleme bir modül bootstrap içinde, yapılandırmasındaki onları almak ve her anahtar değeri çifti() ini_set çağırır: @akond haklı açıklamalarda işaret ettiği gibi, sadece local.php için ini_set satırları ekleyin hangi daha iyi bir çözümdür.

+3

Bu uzun onBoostrap koduna gerek yoktur. Bir PHP dosyası olduğu için config dosyasında sadece error_reporting koydu. – akond

+0

@akond +1 oldukça doğru, bu daha iyi bir seçenek, önyükleme kodu sadece OP'nin nasıl çalıştığını göstermek için var. – Crisp

+0

bu yardımcı oldu, teşekkürler :) –

6

ZF2 uygulamanızda phpSettings'i kolayca yapılandırmak için DluPhpSettings'u kullanmayı düşünmelisiniz.

Bu modül ile

, sahip her ortam için ayarlarınızı yapılandırabilirsiniz: Daha fazla bilgi de için

/* Local application configuration in /config/autoload/phpsettings.local.php */ 
<?php 
return array(
    'phpSettings' => array(
     'display_startup_errors'  => false, 
     'display_errors'    => false, 
     'max_execution_time'   => 60, 
     'date.timezone'     => 'Europe/Prague', 
     'mbstring.internal_encoding' => 'UTF-8', 
    ), 
); 

Look this blog post!