प्रत्येक Apache वर्चुअल होस्ट के लिए अलग php.ini फ़ाइल?


11

क्या एक अलग php.ini फ़ाइल होना संभव है जो प्रत्येक वर्चुअल होस्ट के लिए डिफ़ॉल्ट php.ini फ़ाइल को ओवरराइड करती है? मैं अपाचे / 2.2.14, PHP 5.3.2-1 चला रहा हूं।

उदाहरण के लिए, मेरी /var/www/निर्देशिका में डोमेन की ओर इशारा करते हुए कई vhosts हैं :

/var/www/website1.com  
/var/www/website2.com

मैं जो चाहता हूं वह प्रत्येक निर्देशिका में एक कस्टम php.ini फ़ाइल रखने में सक्षम होना चाहिए जो केवल उस vhost के लिए डिफ़ॉल्ट मानों को ओवरराइड करेगा, लेकिन यदि मूल्य निर्दिष्ट नहीं है तो मूल चूक रखें:

/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini


उन लोगों के लिए संपादित करें , मुझे इस विषय पर अधिक जानकारी मिली कि मैं NameVirtualHosts का उपयोग करके LAMP सर्वर पर प्रति-साइट php.ini फ़ाइलों को कैसे स्थापित करूं?

जवाबों:


6

यदि आप mod_php का उपयोग कर रहे हैं, तो आप उन मानों को ओवरराइड कर सकते हैं जो आप httpd.conf में चाहते हैं। इन मॉड्यूल निर्देश हैं:

php_value - PHP Value Modifier
php_flag - PHP Flag Modifier
php_admin_value - PHP Value Modifier (Admin)
php_admin_flag - PHP Flag Modifier (Admin)

यदि नहीं, तो आपका सबसे अच्छा शॉट PHP FPM है (इसे गूगल करें)।


2
हाँ, मैं प्रत्येक vhost रूट में .htaccess का उपयोग मानों को बदलने के लिए भी कर सकता हूं, और मैंने जो पढ़ा है, वह इसे करने का एक अच्छा तरीका है। लेकिन मुझे पता है कि मैंने कुछ साझा-होस्टिंग वेबहोस्टेस देखे हैं जो आपको अपने स्वयं के साथ अपने php.ini को ओवरराइड करने की अनुमति देते हैं, इसलिए इसे सही करने के लिए एक और तरीका होना चाहिए?

2

यदि आप cgi (या fastcgi, या fpm, जो fastcgi भी है) का उपयोग कर रहे हैं, तो आप .user.iniफ़ाइलों का उपयोग कर सकते हैं ।

.user.iniअपनी php विकल्पों के साथ अपनी वेबरूट डायरेक्टरी में एक फ़ाइल रखें, जो निम्नानुसार है:

memory_limit=256M
upload_max_filesize=200M
post_max_size=200M

और php उस विकल्पों के साथ मुख्य php.ini फ़ाइल का विस्तार करेगा।


-3

VirtualHost टैग के भीतर PHPINIDIR जोड़ें और निर्देशिका को अपनी php.ini फ़ाइल में इंगित करें जो vhost का उपयोग कर रही होगी।

<VirtualHost *:80>
[....]
PHPINIDir /var/www/web1
[....]
</VirtualHost>

http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php से पकड़ा गया

14/04/2010 को संपादित करें 12:30 pm ईएसटी: ** नेवरमाइंड, इसने सभी vhosts के लिए "लोड की गई कॉन्फ़िगरेशन फ़ाइल" को बदल दिया। **


PHPINIDIR सभी वर्चुअल होस्ट के लिए उस php.ini को लोड करता है, और न केवल एक जिसे आप इसे डालते हैं। मैं एक ही मान कर पकड़ा गया :(
alandarev
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.