[Linux] error_log प्रति वर्चुअल होस्ट?


Answers

अगर किसी व्यक्ति की तलाश आती है तो उसे इस तरह दिखना चाहिए:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/domains/example.com/html
    ErrorLog /var/www/domains/example.com/apache.error.log
    CustomLog /var/www/domains/example.com/apache.access.log common
    php_flag log_errors on
    php_flag display_errors on
    php_value error_reporting 2147483647
    php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>

यह विकास के लिए है, क्योंकि display_error चालू है। आप देखेंगे कि अपाचे त्रुटि लॉग PHP त्रुटि लॉग से अलग है। अच्छी चीज php.error.log

error_reporting कुंजी http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting के लिए यहाँ एक नज़र डालें

Question

एक लिनक्स सर्वर पर अपाचे और PHP 5 चल रहा है, हमें अलग-अलग लॉग फाइलों और सब कुछ के साथ एक से अधिक वर्चुअल होस्ट मिला है। केवल एक चीज जो हम वर्चुअल होस्ट्स के बीच अलग नहीं दिख पा रहे हैं वह है php error_log

इस सेटिंग को httpd.conf के <Location> में ओवरराइड करना कुछ भी नहीं लगता है।

क्या मैंने कुछ अनदेखा किया? क्या प्रत्येक वर्चुअल होस्ट के लिए अलग php error_logs ?




मेरा अपाचे इस तरह से कुछ httpd.conf में था बस त्रुटि लॉग और कस्टम लॉग सेटिंग बदलें

<VirtualHost myvhost:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>



तुम कोशिश कर सकते हो:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>

लेकिन मुझे यकीन नहीं है कि वह काम करने जा रहा है। मैंने अपनी साइट पर कोई सफलता नहीं हासिल की




हाँ, आप कोशिश कर सकते हैं,

php_value error_log "/var/log/php_log" 

.htaccess या आप उपयोगकर्ताओं को अपनी स्क्रिप्ट की शुरुआत में ini_set() उपयोग कर सकते हैं यदि वे लॉगिंग करना चाहते हैं

स्क्रिप्ट के साथ फ़ोल्डर में php.ini को डिफ़ॉल्ट में स्क्रिप्ट को सक्षम करने के लिए एक अन्य विकल्प होगा, फिर उपयोगकर्ता / होस्ट के रूट फ़ोल्डर पर जाएं, उसके बाद सर्वर के रूट पर जाएं या कुछ समान। यह मेजबान को अपने स्वयं के php.ini मान और अपने स्वयं के error_log स्थानों को जोड़ने की अनुमति देगा।




डिफ़ॉल्ट व्यवहार error_log () के लिए अपाचे त्रुटि लॉग में आउटपुट के लिए है। यदि यह नहीं हो रहा है, तो त्रुटि_log डायरेक्टिव के लिए अपनी php.ini सेटिंग्स की जांच करें- वर्तमान vhost के लिए अपाचे लॉग फ़ाइल का उपयोग करने के लिए इसे अनसेट न करें।