Apache仮想ホストごとにphp.iniファイルを分離しますか?


11

各仮想ホストのデフォルトのphp.iniファイルをオーバーライドする個別のphp.iniファイルを使用することはできますか?Apache / 2.2.14、PHP 5.3.2-1を実行しています。

たとえば、/var/www/ディレクトリ内のドメインを指す複数の仮想ホストがあります。

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

私が望むのは、そのvhostのデフォルト値のみをオーバーライドするカスタムphp.iniファイルを各ディレクトリに配置できるようにすることですが、値が指定されていない場合は元のデフォルトを保持します。

/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(google it)です。


2
ええ、各vhostルートで.htaccessを使用して値を変更することもできます。これまで読んだことから、これは良い方法です。しかし、php.iniを独自のものでオーバーライドできる共有ホスティングWebホストを見たことがあるので、別の方法でそれを正しく行う必要がありますか?

2

cgi(またはfastcgi、またはfastcgiでもあるfpm)を使用している場合は、.user.iniファイルを使用できます

.user.ini次のように、phpオプションを使用してwebrootディレクトリにファイルを配置するだけです。

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

そして、phpはそのオプションでメインのphp.iniファイルを拡張します。


-3

VirtualHostタグ内にPHPINIDirを追加し、vhostが使用するphp.iniファイルのディレクトリをポイントします。

<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から取得

2010年4月14日午後12時30分(EST)の編集:**気にせず、これによりすべてのvhostの「ロードされた構成ファイル」が変更されました。**


。すべての仮想ホスト用のphp.ini、そしてあなたがそれを置くものではないだけでは、私は同じと仮定:(巻き込まれたことをPHPINIDir負荷
alandarev
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.