PHP.iniの場所について解説 ― 開発環境での設定確認方法
PHPの動作に欠かせない構成ファイルであるphp.iniは、環境によって配置場所が異なるため、しばしば混乱を招きます。
本記事では、開発環境でのphp.iniの位置を手軽に確認できる情報を提供します。
環境設定のチェックに役立ててください。
環境別のphp.ini配置場所
Windows環境での配置パス
PHPをWindows環境で利用する場合、php.ini
の配置場所は利用するWebサーバや実行方法により異なります。
例えば、Apacheと連携してWebサーバとして利用する場合と、CLIで実行する場合で異なります。
Apache等と連携した場合のパス
ApacheなどのWebサーバと連携する場合、PHPはWebサーバのモジュールやCGIとして動作します。
一般的には以下の手順で確認できます。
- Apacheの設定ファイル
(httpd.conf)
内にLoadModule php_module
の設定があるディレクトリ php.ini
がインストールディレクトリ直下か、Apacheの指定ディレクトリに配置
具体的には、次のディレクトリが候補となります。
C:\php\php.ini
C:\Program Files\PHP\php.ini
実際のパスはPHP導入時の設定に依存するため、導入手順書や設定ファイルを確認する必要があります。
CLI利用時のパス
コマンドラインでPHPを利用する場合は、コマンドライン実行時にPHPが参照するphp.ini
のパスが別に設定されている可能性があります。
通常、CLIの場合は以下の場所がデフォルトです。
C:\Windows
- またはインストールディレクトリ内の
php.ini
(例:C:\php\php.ini
)
CLIの設定を確認するために、次のコマンドを実行することが推奨されます。
php --ini
このコマンドは、読み込まれているphp.iniのパスが表示されるため確認できます。
Linux/Unix環境での配置パス
LinuxやUnix環境ではPHPのインストール方法とWebサーバとの連携の仕方によって、php.ini
の配置場所が異なります。
各ディストリビューションでのデフォルトの場所を理解しておくと、設定変更時の確認作業がスムーズになります。
デフォルトディレクトリ
一般的なLinux/Unix環境では、php.ini
は次のディレクトリに配置されます。
- Webサーバ利用時:
/etc/php/7.x/apache2/php.ini
- CLI利用時:
/etc/php/7.x/cli/php.ini
バージョン番号(例:7.4、8.0)はインストールされているPHPバージョンに合わせて異なります。
また、パッケージ管理システムを利用してインストールした場合、パスはそれぞれのディレクトリに分かれることが多いです。
システムごとの差異
ディストリビューションによっては、php.ini
が配置されるディレクトリが異なります。
例えば、Debian系のシステムでは、設定ファイルが/etc/php/7.x/
以下に配置され、Apache・CLIごとに異なるディレクトリが用意されています。
一方、Red Hat系では/etc
直下や/etc/php.d/
などに配置される場合があります。
システムごとの差異を確認するためには、以下の手順が便利です。
- 各システムの公式ドキュメントを参照する
phpinfo()
を利用して確認するphp --ini
コマンドの出力内容を参照する
php.ini位置の確認方法
php.ini
の実際の位置を確認するのは、PHPの設定を変更する上で大切です。
ここでは、phpinfo()
を利用する方法と、コマンドラインでの確認方法をご紹介します。
phpinfo()による確認
phpinfo()
は、PHPの現在の設定情報を出力する関数です。
これを利用することで、読み込まれているphp.ini
のパスやその他の設定情報を手軽に確認できます。
PHPファイルに以下の内容を記述し、Webサーバ経由でアクセスしてください。
<?php
// phpinfo関数を使ってPHPの全設定情報を出力するサンプルコード
phpinfo(); // 生のPHP設定情報が表示される
?>
実行すると、ブラウザ上にPHPの詳細な設定情報が表示されます。
その中の「Loaded Configuration File」という項目にphp.ini
のパスが記載されています。
出力情報の見方
ブラウザに表示される情報の中で、以下の点を確認してください。
- 「Loaded Configuration File」:実際に読み込まれている
php.ini
のフルパス - PHPバージョンやその他拡張モジュールの情報
これにより、どの設定ファイルが有効になっているかを把握できます。
コマンドラインでの確認
コマンドライン環境でPHPを利用している場合は、PHPの実行方式や設定確認のためにコマンドを利用する方法が便利です。
php --ini
コマンドを実行することで、CLIが参照している設定ファイルの情報を確認できます。
php –iniコマンドの利用
コマンドプロンプトやターミナルで以下のコマンドを入力してください。
php --ini
このコマンドの出力例は以下の通りです。
Configuration File (php.ini) Path: /etc/php/7.x/cli
Loaded Configuration File: /etc/php/7.x/cli/php.ini
Additional .ini files parsed: /etc/php/7.x/cli/conf.d/20-curl.ini,
/etc/php/7.x/cli/conf.d/20-json.ini
この情報から、PHPがどの設定ファイルを利用しているかを明確に把握できます。
特に、Loaded Configuration File
の箇所が現在利用中のphp.ini
のパスとなります。
php.ini変更時の反映手順
php.ini
の変更を行った後には、設定が反映されるようにWebサーバやPHPプロセスの再起動が必要です。
ここでは、設定変更後の確認方法とWebサーバの再起動について説明します。
設定変更後の確認方法
PHPに設定を変更した場合、変更内容がきちんと反映されているか確認することが大切です。
基本的には、再度phpinfo()
を実行して、設定値が変更されていることを確認します。
例えば、max_execution_time
の値を変更した場合、phpinfo()
で新しい値が反映されていれば成功です。
その際、設定ファイルの場所が正しいかどうかも再確認してください。
Webサーバ再起動のポイント
変更が反映されない場合、Webサーバの再起動が必要になるケースがほとんどです。
以下はApacheを例にした再起動手順です。
- Windowsの場合
コマンドプロンプトから以下のコマンドを実行できます。
httpd -k restart
- Linux/Unixの場合
ターミナルで以下のコマンドを実行することが多いです。
sudo systemctl restart apache2
再起動後、再びphpinfo()
で確認することで適用状況をチェックできるため、この手順を忘れずに実施してください。
まとめ
この記事では、Windows環境およびLinux/Unix環境でのphp.iniの配置場所、確認方法、反映手順について実際のサンプルコードを交えて説明しました。
全体の手順と設定の注意点が整理され、環境に応じたphp.ini管理の基礎知識が得られます。
これを機に、ご自身の開発環境でphp.iniの位置と設定内容を再確認してみてください。