ユーザー固有の Php.ini PHP がモジュールとして実行されるのはいつですか?

ユーザー固有の Php.ini PHP がモジュールとして実行されるのはいつですか?

ini ファイルでのみ変更できる PHP 設定があります。競合のため、グローバル php.ini でこの設定を変更できないため、この設定をユーザー固有のものにする必要があります。PHP がモジュールとして実行されている場合、これは実行できますか? または、PHP を CGI として実行するように変更する必要がありますか?

最良の答えは「実際にはそうではない」のようですが、以下のトリックを使用していくつかのパラメータをこっそり変更することは可能です。

答え1

PHPをApacheモジュールとして使用する場合に別のphp.iniを指定する方法は知りません。PHPをCGIとして使用する場合のみ指定できます。ただし、php.iniの設定オプションは、次のファイルで変更できます.htaccess変更履歴OptionsApache 構成で AllowOverride をまたはに設定している限りAll

私は多くのサイトで、一般的な PHP 設定を変更するためにこれを実行しました。すべての設定を変更する必要はないと思うので、.htaccess変更が必要なディレクトリ内のファイルにオプションを追加することで、簡単に数を管理できるはずです。

以下は、いくつかのサイトで を変更したり、 と の設定を変更するために私が使用しているものですinclude_pathauto_prepend_fileブールauto_append_fileフラグ項目の場合は、php_flagの代わりにを使用しますphp_value

<IfModule mod_php5.c>
    php_value auto_prepend_file 'header.inc.php'
    php_value auto_append_file 'footer.inc.php'
    php_value include_path '/path/to/private/includes:/usr/share/pear'
</IfModule>

答え2

私はphp cgiラッパーのphpのハンドラーを上書きし、php.iniファイルを指定することができました

これを行うには、変更したいフォルダーに次のような htaccess ファイルを作成します。

Action php5-cgi /cgi-bin/php5-cgi.cgi
AddHandler php5-cgi .php

次に、次のような内容のファイル「php5-cgi.cgi」を作成します。

#!/bin/sh
exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"

このファイルの権限を「ユーザー」として実行するように設定します。次に、phpinfo(1); を使用してテスト ファイルを実行し、ini ファイルがロードされているかどうかを確認します。

皆様のご協力に感謝いたします!!

答え3

詳細はこちらをご覧ください:変更履歴

答え4

vhost/ユーザーごとに Apache の「php_admin_value」を使用できます。

私の記憶が正しければ、このコマンドを使用してすべてのphp.ini値を再定義できます。

関連情報