php.iniファイルはどこにある?OS別に設定ファイルの場所を確認する方法
公開:
php.iniファイルとは
php.iniファイルとは、PHPの動作に関する設定を記述するファイルです。文字コードの設定やエラー表示の制御、使用するライブラリの指定など、PHPの動作を制御する重要な設定を一元管理します。
php.iniファイルの場所はOSやインストール方法、開発環境などによって異なります。PHPの設定を変更する際は、このファイルを編集する必要があるため、まず配置場所を特定することが重要です。
php.iniファイルの場所を確認する方法
php.iniファイルの場所を特定する際、環境によって配置されているディレクトリが異なるため、どこにあるのか分からず困ることがありますよね。場所を確認する方法として、以下の3つがあります。
- phpinfo()関数で確認する
- phpコマンドで確認する
- findコマンドで検索する
コマンドラインが使える環境ではphpコマンドが最も手軽で、Web環境ではphpinfo()関数が便利です。以下では、各方法について詳しく解説していきます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
phpinfo()関数で確認する
phpinfo()関数はPHPの設定情報を出力する関数で、php.iniファイルの場所を確認できます。以下のコードをPHPファイルとして保存し、ブラウザからアクセスすることによって設定情報が表示されます。
<?php
phpinfo();
?>
上記のコードをinfo.phpなどのファイル名で保存し、Webサーバーのドキュメントルートに配置します。ブラウザから「http://localhost/info.php」にアクセスすると、PHPの詳細な設定情報が表示されます。
表示された情報の中で「Loaded Configuration File」という項目を確認してください。この項目に記載されているパスが、現在読み込まれているphp.iniファイルの場所です。
| 表示項目 | 内容 |
|---|---|
| Configuration File Path | php.iniファイルを探すディレクトリ |
| Loaded Configuration File | 実際に読み込まれているphp.iniファイルのパス |
| Scan for additional .ini files in | 追加の設定ファイルを探すディレクトリ |
phpinfo()関数で表示される情報には、PHPのバージョンや拡張モジュールの状態など、セキュリティ上で重要な情報が含まれます。確認後は必ずファイルを削除するか、Basic認証で保護されたディレクトリに配置してください。
phpコマンドで確認する
コマンドラインでphpコマンドを使用することによって、php.iniファイルの場所を確認できます。この方法はサーバーにSSH接続できる環境で有効で、最も手軽に場所を特定できます。
--iniオプションを使用すると、読み込まれている設定ファイルの情報が表示されます。
php --ini
上記のコマンドを実行すると、以下のような情報が出力されます。
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/10-opcache.ini
「Loaded Configuration File」の行に表示されているパスが、実際に読み込まれているphp.iniファイルの場所です。-iオプションとgrepコマンドを組み合わせることによって、php.iniに関する情報だけを抽出することもできます。
php -i | grep php.ini
このコマンドでは、phpinfo()関数と同じ情報をコマンドライン上で出力し、grepコマンドでphp.iniに関連する行だけを抽出します。ブラウザを使わずに確認したい場合に便利です。
findコマンドで検索する
findコマンドを使用することによって、システム全体からphp.iniファイルを検索できます。この方法はPHPのインストール状況に関係なく、ファイルの場所を特定できる確実な方法です。
LinuxやMacでは、以下のコマンドでphp.iniファイルを検索します。
find / -name php.ini
上記のコマンドは、ルートディレクトリから再帰的にphp.iniファイルを検索します。権限エラーが発生する場合は、sudoコマンドを付けて実行してください。
sudo find / -name php.ini
検索結果には、システム内に存在する全てのphp.iniファイルのパスが表示されます。複数のphp.iniファイルが見つかった場合は、phpコマンドやphpinfo()関数で確認した「Loaded Configuration File」のパスと照合し、実際に使用されているファイルを特定してください。
| OS | コマンド |
|---|---|
| Linux/Mac | find / -name php.ini |
| Windows | dir php.ini /s |
Windowsでは、dirコマンドを使用してphp.iniファイルを検索します。検索には時間がかかる場合がありますが、確実にファイルを見つけることができます。
【PR】『Python』を学べる企業・個人向けのプログラミングコース
OS別のphp.iniファイルの一般的な配置場所
php.iniファイルの配置場所は、使用しているOS、PHPのインストール方法、開発環境によって異なります。環境ごとの一般的な配置場所を把握しておくことによって、ファイルを素早く見つけることができます。
環境におけるphp.iniファイルの配置場所として、以下3つが挙げられます。
- Windows
- Mac
- Linux
以下では、各OSにおける一般的な配置場所について、詳しく解説していきます。
Windowsの場合
WindowsにPHPをインストールした場合、php.iniファイルの配置場所はインストール方法によって異なります。単体でインストールした場合とXAMPPを使用した場合で、配置されるディレクトリが変わります。
Windowsでの主な配置場所は、以下のとおりです。
| インストール方法 | php.iniの場所 |
|---|---|
| PHP単体インストール | C:\PHP\php.ini PHPをインストールしたディレクトリ直下 |
| XAMPP | C:\xampp\php\php.ini XAMPPインストールディレクトリのphpフォルダ内 |
| MAMP | C:\MAMP\conf\php【バージョン】\php.ini MAMPのconfディレクトリ内 |
PHP単体でインストールした場合、デフォルトではphp.iniファイルは存在しません。PHPインストールディレクトリ内にあるphp.ini-developmentまたはphp.ini-productionファイルをphp.iniにコピーして使用します。
Macの場合
Macでは、「プリインストールされているPHPを使用する場合」と「HomebrewやMAMPを使用する場合」で、php.iniファイルの配置場所が異なります。
Macでの主な配置場所は以下のとおりです。
| インストール方法 | php.iniの場所 |
|---|---|
| Mac標準 | /etc/php.ini 存在しない場合は/etc/php.ini.defaultをコピー |
| Homebrew | /usr/local/etc/php/【バージョン】/php.ini Homebrewでインストールしたバージョンのディレクトリ内 |
| MAMP | /Applications/MAMP/bin/php/php【バージョン】/conf/php.ini MAMPアプリケーション内のphpディレクトリ |
Mac標準のPHPを使用する場合、php.iniファイルが存在しないことがあります。その場合は、/etc/php.ini.defaultファイルをphp.iniにコピーして使用してください。
Linuxの場合
Linuxディストリビューションでは、パッケージマネージャーを使用してPHPをインストールすることが一般的で、ディストリビューションによってphp.iniファイルの配置場所が異なります。Apache用とCLI用で、別々のphp.iniファイルが存在する場合もあります。
Linuxでの主な配置場所は、以下のとおりです。
| ディストリビューション | php.iniの場所 |
|---|---|
| CentOS/RHEL | /etc/php.ini Apache用とCLI用が同じファイル |
| Ubuntu/Debian | /etc/php/【バージョン】/apache2/php.ini(Apache用) /etc/php/【バージョン】/cli/php.ini(CLI用) |
| Docker | /usr/local/etc/php/php.ini 公式PHPイメージの標準パス |
UbuntuやDebianでは、Apache用とCLI用でphp.iniファイルが分かれています。Web経由での動作とコマンドラインでの動作で異なる設定を適用したい場合、それぞれのファイルを編集する必要があります。
php.iniファイルが存在しない場合は、php.ini-developmentまたはphp.ini-productionファイルをコピーしてphp.iniとして使用します。開発環境ではphp.ini-development、本番環境ではphp.ini-productionの使用が推奨されます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。








