2013-03-10 2 views
9

हर बार मुझे ज़ेंड फ्रेमवर्क 2 में कोई त्रुटि प्राप्त होती है, मुझे केवल 500 आंतरिक सर्वर त्रुटि दिखाई देती है और ज़ेंड सर्वर त्रुटि लॉग के माध्यम से खोजना पड़ता है। मैं अपने config/autoload/local.php फ़ाइल को यह डाल करने की कोशिश की है, लेकिन यह काम नहीं करता है:मैं ज़ेंड फ्रेमवर्क 2 में PHP त्रुटि रिपोर्टिंग कैसे चालू करूं?

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

उत्तर

8

वहाँ zf2 में उस के लिए कोई देशी समर्थन (AFAIK) है। आप या तो आप तुम्हारे पास क्या है और कर रख सकता है php.ini में उन्हें खुद को स्थापित करने के लिए है, या उन्हें index.php

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

में सेट आप वास्तव में उन्हें config सेटिंग्स के रूप में आपूर्ति करने में सक्षम होना चाहते हैं चाहते हैं, कि एक मॉड्यूल बूटस्ट्रैप में, उन्हें config से मिलता है, और() प्रत्येक कुंजी मान युग्म पर ini_set फोन

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); 
     } 
    } 
} 

संपादित करें: के रूप में @akond ठीक ही टिप्पणी में बताते हैं, तो आप सिर्फ ini_set लाइनों local.php को जोड़ सकता है जो एक बेहतर समाधान है।

+3

इस लंबे समय तक बूस्ट्रैप कोड की आवश्यकता नहीं है। वह सिर्फ config_reporting को config फ़ाइल में ही डाल सकता है, क्योंकि यह एक PHP फ़ाइल है। – akond

+0

@कॉन्ड +1 आप काफी सही हैं, यह एक बेहतर विकल्प है, बूटस्ट्रैप कोड सिर्फ यह दिखाने के लिए है कि ओपी ने क्या काम किया है। – Crisp

+0

इससे मदद मिली है, धन्यवाद :) –

6

अपने ZF2 ऐप पर phpSettings को आसानी से कॉन्फ़िगर करने के लिए, आपको DluPhpSettings का उपयोग करने पर विचार करना चाहिए।

इस मॉड्यूल के साथ

, आप प्रत्येक परिवेश आप के लिए अपनी सेटिंग कॉन्फ़िगर कर सकते हैं: अधिक जानकारी के लिए भी

/* 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', 
    ), 
); 

देखो this blog post!

संबंधित मुद्दे