PHPを用いたWeb開発において、ローカル開発環境の構築にXAMPPを利用している方は非常に多いでしょう。
しかし、開発を進める中で「大きなファイルをアップロードできない」「処理がタイムアウトしてしまう」といった課題に直面することがあります。
これらの問題の多くは、PHPの設定ファイルであるphp.iniを適切に編集することで解決可能です。
この記事では、2026年現在の開発環境においても通用する、XAMPPでのPHP設定変更手順と、その変更を確実に反映・確認する方法を詳しく解説します。
XAMPPにおけるPHP設定の基本知識
XAMPPは、Apache、MariaDB、PHP、Perlをひとまとめにした非常に便利なパッケージです。
PHPの動作を制御するための中心的な役割を果たすのが、php.iniと呼ばれる設定ファイルです。
このファイルには、メモリの使用量やアップロード可能なファイルサイズ、エラーの表示設定など、PHPの挙動を左右する膨大な項目が記述されています。
開発環境においては、プログラムのデバッグを容易にするためにエラーを詳細に表示させたり、大きなデータを扱うためにメモリ制限を緩和したりする必要があります。
一方で、本番環境と設定が乖離しすぎると、ローカルでは動くのにサーバーでは動かないといったトラブルの原因にもなり得ます。
そのため、どの設定項目がどのような影響を与えるのかを正しく理解し、適切に管理することがエンジニアには求められます。
XAMPPではGUIベースのコントロールパネルから簡単に設定ファイルにアクセスできる仕組みが整っています。
php.iniファイルの場所を確認する
設定を変更する第一歩は、正しいphp.iniファイルの場所を特定することです。
XAMPPを利用している場合、主に2つの方法でこのファイルにアクセスできます。
XAMPPコントロールパネルから開く
最も簡単で推奨される方法は、XAMPPコントロールパネルを利用することです。
コントロールパネルを開き、Apacheの行にある「Config」ボタンをクリックしてください。
ドロップダウンメニューが表示されるので、その中から「PHP (php.ini)」を選択します。
これにより、OSに関連付けられたテキストエディタ(通常はメモ帳など)で直接ファイルが開かれます。
この方法は、パスを意識することなく瞬時にファイルを開けるため、誤って別の場所にある設定ファイルを編集してしまうリスクを減らせます。
エクスプローラーから直接アクセスする
手動でディレクトリを辿ってファイルを探す必要がある場合は、XAMPPをインストールしたフォルダを確認してください。
デフォルトのインストール設定であれば、以下のパスにphp.iniが存在します。
| OS | 標準的なパス |
|---|---|
| Windows | C:\xampp\php\php.ini |
| macOS (XAMPP-VM) | /opt/lampp/etc/php.ini |
ただし、XAMPPを「Cドライブ」以外の場所や任意のフォルダにインストールした場合は、そのインストール先ディレクトリを起点に探してください。
また、PHPの実行環境によっては複数のphp.iniが存在するケースもありますが、Apache経由で利用されるのは上記パスのファイルです。
変更すべき主要なPHP設定項目
PHPの開発において、特によく変更される設定項目がいくつか存在します。
これらを適切に設定することで、開発中のストレスを大幅に軽減できます。
ファイルのアップロードサイズ制限
WordPressのテーマアップロードや、画像・動画を扱うシステムの開発では、アップロード制限に掛かることがよくあります。
関係する設定は、post_max_sizeとupload_max_filesizeの2つです。
upload_max_filesizeは1ファイルあたりの最大サイズを定義し、post_max_sizeは1回のPOSTリクエスト全体の最大サイズを定義します。
論理的に、post_max_sizeはupload_max_filesizeと同じか、それ以上に設定する必要があります。
; 1ファイルあたりの最大アップロードサイズ
upload_max_filesize = 128M
; POSTデータ全体の最大サイズ
post_max_size = 128M
スクリプトのメモリ制限と実行時間
複雑なフレームワークを使用したり、大量のデータをバッチ処理したりする場合、メモリ不足やタイムアウトが発生することがあります。
memory_limitは、PHPスクリプトが使用できる最大メモリ容量を指定します。
また、max_execution_timeは、スクリプトの最大実行時間を秒単位で指定するものです。
; スクリプトが確保できる最大メモリ
memory_limit = 512M
; スクリプトの最大実行時間(秒)
max_execution_time = 300
エラー表示の設定(デバッグ用)
開発環境では、エラーが発生した際にその内容を画面に表示させることが不可欠です。
display_errorsをOnに設定することで、ブラウザ上にエラーメッセージが出力されるようになります。
一方で、本番環境ではセキュリティの観点から必ずOffにすべき項目ですので、切り替えには注意が必要です。
; エラーを画面に表示する
display_errors = On
; 表示するエラーのレベル(すべてのエラーを表示)
error_reporting = E_ALL
タイムゾーンの設定
日付や時刻を扱う関数を使用する場合、正しいタイムゾーンが設定されていないと、現在時刻がズレて表示されることがあります。
日本の開発環境であれば、Asia/Tokyoに設定するのが一般的です。
[Date]
; 日本時間に設定
date.timezone = "Asia/Tokyo"
php.iniを安全に編集する手順
設定ファイルを直接編集する際には、いくつかの注意点があります。
不適切な記述を行うと、Apacheが起動しなくなるといったトラブルを招く可能性があるためです。
1. 事前にバックアップを取得する
編集を開始する前に、必ず元のphp.iniファイルをコピーしてバックアップを作成してください。
例えば、php.ini.bakという名前で同じフォルダに保存しておくだけで、問題が起きた際にすぐに元の状態へ戻すことができます。
初心者に限らず、熟練のエンジニアであってもバックアップは必須の習慣です。
2. テキストエディタで検索して値を書き換える
php.iniは非常に長いファイルですので、目視で項目を探すのは効率的ではありません。
「Ctrl + F」などのショートカットキーを使い、変更したい項目名(例:memory_limit)を検索してください。
値の書き換え時には、行の先頭にセミコロン(;)が付いていないかを確認してください。
セミコロンが付いている行はコメントアウトとして扱われ、設定が無視されます。
設定を有効にしたい場合は、セミコロンを削除してから値を変更する必要があります。
3. 保存してファイルを閉じる
値を変更したら、ファイルを上書き保存してテキストエディタを閉じます。
この時点では、まだ変更は反映されていません。
設定の変更を反映させる方法
php.iniは、PHPのプロセスが開始される際に一度だけ読み込まれます。
そのため、ファイルを保存しただけでは、動作中のApacheには変更が伝わりません。
Apacheを再起動することが、設定を反映させる唯一の手順です。
- XAMPPコントロールパネルを開きます。
- 「Apache」の右側にある「Stop」ボタンをクリックします。
- ステータスランプが消えたことを確認してから、「Start」ボタンをクリックします。
- Apacheが正常に再起動され、新しい設定が読み込まれます。
もし再起動に失敗してエラーが表示された場合は、先ほど編集した箇所に記述ミスがないか(全角スペースが混じっていないか、など)を確認してください。
設定が反映されたか確認する(phpinfo)
変更が正しく反映されたかどうかは、PHPの情報を出力する関数を使用して確認できます。
この手順を怠ると、「設定を変えたつもりなのに反映されていない」という状態で時間を浪費することになりかねません。
確認用ファイルの作成
XAMPPのドキュメントルート(通常は C:\xampp\htdocs)に、info.phpという名前で新しいファイルを作成してください。
そのファイルの中に、以下のコードを記述します。
<?php
// PHPの構成情報をすべて表示する
phpinfo();
?>
ブラウザからのアクセス
ブラウザを開き、アドレスバーにhttp://localhost/info.phpと入力してアクセスします。
すると、現在のPHPの詳細な設定状況が一覧で表示されます。
「Ctrl + F」を使用して、先ほど変更した項目(例:upload_max_filesize)をページ内検索してください。
「Local Value」と「Master Value」の欄に、変更後の値が表示されていれば、反映は成功です。
| 項目名 | 確認すべき値(例) |
|---|---|
| memory_limit | 512M |
| post_max_size | 128M |
| display_errors | On |
確認が終わったら、セキュリティ上のリスクを避けるために、作成したinfo.phpは必ず削除しておきましょう。
よくあるトラブルと解決策
手順通りに進めても設定が反映されない場合、いくつかの原因が考えられます。
まず疑うべきは、編集したファイルが間違っている可能性です。
先ほどのphpinfo()の画面上部にある「Loaded Configuration File」という項目を確認してください。
そこに表示されているパスが、実際に現在読み込まれているphp.iniの場所です。
もし自分で編集したファイルのパスと異なる場合は、そのパスにあるファイルを編集し直す必要があります。
次に、数値の単位に誤りがないか確認しましょう。
PHPの設定では、メガバイトを指定する際に「MB」ではなく「M」と記述するのが正しいルールです(例:128MBではなく128M)。
また、構文エラーとして最も多いのが、設定値の周辺に全角文字や全角スペースが混入しているケースです。
プログラム用のエディタ(VS Codeなど)を使用し、不可視文字を表示させて確認することをお勧めします。
まとめ
XAMPPでのPHP設定変更は、Web開発をスムーズに進めるために避けては通れないステップです。
php.iniファイルの場所を特定し、バックアップを取り、必要な項目を適切に編集する一連の流れを覚えましょう。
特に、変更後には必ずApacheを再起動し、phpinfo()で反映を確認する習慣をつけることが重要です。
メモリ制限やアップロードサイズなど、プロジェクトの要件に合わせて最適な環境を整えてください。
一度手順をマスターしてしまえば、トラブル時にも迅速に対応できるようになり、開発効率は格段に向上するはずです。
