2013-01-15 11 views
5

के साथ PHP-FPM मैंने एक अपाचे 2/PHP-FPM साइट सेट अप की है और PHP-FPM की त्रुटियों को अपनी त्रुटि लॉग फ़ाइल में लॉग इन करना चाहते हैं। हालांकि, मौजूदा विन्यास के साथ, त्रुटियों निम्न स्वरूप में /var/log/php5-fpm.log को लॉग इन किया जा रहा है:समर्पित त्रुटि लॉग फ़ाइल

WARNING: [pool www] child 22926 said into stderr: "NOTICE: PHP message: PHP Parse error: syntax error, unexpected 'if' (T_IF) in /var/www/site.com/error.php on line 1" 

मेरी /etc/php5/fpm/pool.d/www में।

php_admin_value[error_log] = /var/log/fpm-php.www.log 
php_admin_flag[log_errors] = on 
catch_workers_output = yes 

जब मैं catch_workers_output अक्षम करें, त्रुटि लॉगिंग पूरी तरह से बंद हो जाता है: conf मैं निम्नलिखित विकल्प हैं। हालांकि, phpinfo() आउटपुट में, यह कॉन्फ़िगरेशन में निर्दिष्ट लॉगफाइल दिखा रहा है।

PHP5-FPM इस लॉगफाइल का सम्मान क्यों नहीं कर रहा है। क्या एक अलग फ़ाइल में लॉग किए गए एफपीएम पूल के लिए त्रुटियों का कोई तरीका है?

मेरे PHP संस्करण:

# php5-fpm -v 
PHP 5.4.9-4~precise+1 (fpm-fcgi) (built: Nov 30 2012 10:48:01) 

किसी भी जानकारी के लिए धन्यवाद!

+0

प्रत्येक साइट में अपना स्वयं का त्रुटि लॉग होना चाहिए। आप प्रत्येक डोमेन/साइट के लिए त्रुटि लॉगिंग क्यों नहीं करते हैं, और हर डोमेन/साइट के लिए php में error_log? –

+0

एक अपाचे त्रुटि लॉग है, और यह PHP से FastCGI त्रुटि आउटपुट प्राप्त करता है। हालांकि, PHP त्रुटि_log के लिए phpinfo() आउटपुट में जो रिपोर्ट किया जा रहा है, उस पर लॉग इन नहीं कर रहा है - यह फ़ाइल प्रदर्शित नहीं होती है। (डिफ़ॉल्ट, /var/log/fpm-php.www.log) – Dan

उत्तर

5

आपको अपने मुख्य एफपीएम कॉन्फ़िगरेशन में error_log = /var/log/php-fpm.log मिलेगा। आपके उदाहरण के आधार पर आप इसे पूल कॉन्फ़िगरेशन में सेट कर रहे हैं, जो केवल उस विशिष्ट पूल/डोमेन के लिए काम करेगा।

+0

धन्यवाद! मैं एफपीएम पूल में और पढ़ूंगा। मुझे अभी भी यह अजीब लगता है कि phpInfo() रिपोर्ट कर रहा है कि मैं उस पूल में परिभाषित सेटिंग्स का उपयोग कर रहा हूं .. – Dan

+0

भूलें कि आप हमेशा फ्रीनोड आईआरसी चैनल # php-fpm में कुछ अतिरिक्त सहायता पा सकते हैं – Diemuzi

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