phpの設定ファイル「php.ini」に関する操作まとめ

PHP プログラミング

php.iniの場所を調べたり、実行時にphp.iniを切り替えるなど、php.iniに関する操作をまとめます。

php.iniの場所を調べる

cli版の場合は以下のコマンドで調べられます。

fcgi版の場合はphpinfoで調べられます。

phpがcli版かfcgi版か調べるには以下のコマンドを使います。

phpコマンド実行時にphp.iniを指定する

phpコマンド実行時にphp.iniを指定するには-cオプションを使います。

PHP: php.ini ディレクティブのリスト – Manual

phpコマンド実行時にiniファイルを無視する

phpコマンドの-nオプションを使うことで、php.iniの設定を無視することができます。

ディレクトリごとにphp.iniの設定を追加する

CGIまたはFCGI版phpの場合は、ディレクトリごとにphp.iniの設定を変更できます。

.user.ini」という名前でファイルを作り、設定を変更したいディレクトリに配置します。

.user.ini」は現在のディレクトリからドキュメントルートへ向かって順に読み込まれます。

.user.iniで設定できる項目は、下記の設定項目リストの「変更可能」がPHP_INI_PERDIRまたはPHP_INI_USERの項目のみです。

PHP: php.ini ディレクティブのリスト – Manual

.user.iniに関するマニュアルは以下のページです。

PHP: .user.ini ファイル – Manual

.htaccessでphp.iniの設定を追加する

phpがApacheモジュールとして動いている場合は、httpd.conf.htaccessにphp.iniの設定項目を書くことができます。

この機能を使うにはApacheの設定で「AllowOverride Options」または「AllowOverride All」が設定されている必要があります。

書式は以下のようになります。

この設定も.user.iniと同様、php.iniの「変更可能」モードがPHP_INI_PERDIRまたはPHP_INI_USERの物のみです。

.htaccessでのphp.iniの設定に関する詳しい説明は以下です。

PHP: 設定を変更するには – Manual

phpのソースコード内でphp.iniの設定を変更する

phpのini_set()関数を使うことで、ソースコード内でphp.iniの設定を変える事ができます。

PHP: ini_set – Manual

php.iniの追加読み込みパスを指定する

php.iniを追加で読み込むパスを指定できます。

phpのコンパイル時に--with-config-file-scan-dirで追加ディレクトリを指定するか、phpコマンド実行時にPHP_INI_SCAN_DIR環境変数を設定します。

例えば以下のようにします。

追加ディレクトリにある*.iniをアルファベッド順に読み込んでいきます。

PHP: 設定ファイル – Manual

以上です。

コメント/ピンバック

タイトルとURLをコピーしました