PHPの動作確認とは、サーバーやローカル環境でPHPが正しく実行できるかを確認する作業です。
PHPを使ったWebサイトやシステムを構築する場合、単にPHPがインストールされているだけでは不十分です。
実際には、コマンドラインでPHPが使えるか、Webサーバー経由でPHPファイルが実行されるか、必要な拡張機能が有効になっているか、設定ファイルである php.ini が正しく読み込まれているかなどを確認する必要があります。
特にWordPress、Laravel、EC-CUBEなどのCMSやフレームワークを利用する場合は、PHPのバージョンや拡張機能、メモリ上限、アップロード容量などが要件を満たしていないと、正常に動作しないことがあります。
PHPの動作確認で確認する主な項目
PHPの動作確認では、主に以下の項目を確認します。
- PHPがインストールされているか
- PHPのバージョンが要件を満たしているか
- コマンドラインでPHPを実行できるか
- ブラウザ上でPHPファイルを実行できるか
php.iniが正しく読み込まれているか- 必要なPHP拡張機能が有効になっているか
- エラー表示やエラーログの設定が適切か
- データベースに接続できるか
- ファイルアップロードやセッションが正常に使えるか
PHPはサーバー側で実行されるプログラムです。
そのため、PHPファイルをパソコン上で直接ダブルクリックして開くだけでは、通常はPHPとして実行されません。
Webサイトとして動かす場合は、ApacheやNginxなどのWebサーバー、またはPHPのビルトインサーバーを通して確認する必要があります。
コマンドラインでPHPのバージョンを確認する方法
まずは、PHPがインストールされているかを確認します。
Windowsの場合はコマンドプロンプトやPowerShell、macOSやLinuxの場合はターミナルを開き、以下のコマンドを実行します。
php -v
または、以下のコマンドでも確認できます。
php --version
正常にPHPがインストールされていれば、以下のようにPHPのバージョン情報が表示されます。
PHP 8.4.x (cli) (built: ...)
Copyright (c) The PHP Group
Zend Engine v4.x.x
このような表示が出れば、少なくともコマンドライン上ではPHPが認識されています。
php -v で確認できること
php -v では、主に以下の情報を確認できます。
- PHPのバージョン
- CLI版PHPが使えるかどうか
- Zend Engineのバージョン
- OPcacheなどの関連情報
ここで表示されるPHPは、コマンドラインで使用されるPHPです。
Webサーバー経由で動作するPHPとは、バージョンや設定ファイルが異なる場合があります。
そのため、php -v で確認できたからといって、ブラウザ上でもPHPが正常に動作しているとは限りません。
Webサイトとして利用する場合は、後述するブラウザでの動作確認も必ず行いましょう。
PHPがインストールされていない場合の表示
PHPがインストールされていない、またはPHPへのパスが通っていない場合、以下のようなエラーが表示されます。
Windowsの場合は、次のようなメッセージが表示されることがあります。
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
macOSやLinuxの場合は、次のように表示されることがあります。
php: command not found
この場合は、PHPがインストールされていないか、インストールされていても環境変数のPATHにPHPの実行ファイルが登録されていない可能性があります。
PHPファイルを作成して動作確認する方法
PHPのインストールが確認できたら、次に簡単なPHPファイルを作成して実行してみます。
テスト用のPHPファイルを作成する
まず、任意の場所に test.php というファイルを作成します。
ファイルの中身は以下のようにします。
<?php
echo "PHPは正常に動作しています。";
PHPファイルでは、基本的に <?php からPHPコードを書き始めます。
上記の例では、echo を使って文字列を出力しています。
コマンドラインでPHPファイルを実行する
作成した test.php があるディレクトリに移動し、以下のコマンドを実行します。
php test.php
正常に動作していれば、以下のように表示されます。
PHPは正常に動作しています。
この表示が出れば、コマンドライン上でPHPファイルを実行できています。
ただし、これはCLI環境での確認です。
WebサイトとしてPHPを使う場合は、ブラウザ上でも確認する必要があります。
ブラウザでPHPの動作確認を行う方法
PHPをWebサイトで使用する場合は、ブラウザからPHPファイルにアクセスして、正しく実行されるかを確認します。
Webサーバーの公開ディレクトリにPHPファイルを配置する
ApacheやNginx、XAMPP、MAMPなどを利用している場合は、Webサーバーの公開ディレクトリにPHPファイルを配置します。
XAMPPの場合、公開ディレクトリは一般的に以下の場所です。
C:\xampp\htdocs\
この中に test.php を配置すると、以下のような場所になります。
C:\xampp\htdocs\test.php
ブラウザで以下のURLにアクセスします。
http://localhost/test.php
画面に以下のように表示されれば、Webサーバー経由でPHPが正常に実行されています。
PHPは正常に動作しています。
PHPコードがそのまま表示される場合
ブラウザでアクセスしたときに、以下のようにPHPコードがそのまま表示される場合があります。
<?php
echo "PHPは正常に動作しています。";
この場合、PHPがWebサーバー上で実行されていません。
主な原因として、以下が考えられます。
- PHPがインストールされていない
- WebサーバーとPHPが連携できていない
- PHP-FPMが起動していない
.phpファイルをPHPとして処理する設定がないfile:///C:/.../test.phpのようにファイルを直接開いている- ApacheやNginxの設定が正しくない
PHPはサーバー側で処理される言語です。
そのため、PHPファイルを直接ブラウザで開くのではなく、必ず http://localhost/... や https://example.com/... のようにWebサーバー経由でアクセスします。
phpinfo() を使ってPHPの設定を確認する方法
PHPの詳細な設定を確認したい場合は、phpinfo() を使います。
phpinfo() は、PHPのバージョン、読み込まれている設定ファイル、有効な拡張機能、サーバー情報、環境変数などを一覧で確認できる関数です。
phpinfo.php を作成する
以下の内容で phpinfo.php というファイルを作成します。
<?php
phpinfo();
このファイルをWebサーバーの公開ディレクトリに配置します。
XAMPPの場合は、以下のようになります。
C:\xampp\htdocs\phpinfo.php
ブラウザで以下にアクセスします。
http://localhost/phpinfo.php
PHPの設定情報が表示されれば、PHPはWebサーバー経由で正常に実行されています。
phpinfo() で確認できる主な項目
phpinfo() では、以下のような情報を確認できます。
| 確認項目 | 内容 |
|---|---|
| PHP Version | PHPのバージョン |
| Loaded Configuration File | 読み込まれている php.ini の場所 |
| Server API | PHPの実行方式 |
| extension | 有効化されているPHP拡張機能 |
| memory_limit | PHPで使用できるメモリ上限 |
| upload_max_filesize | アップロード可能な最大ファイルサイズ |
| post_max_size | POST送信できる最大サイズ |
| max_execution_time | 最大実行時間 |
| date.timezone | タイムゾーン設定 |
| error_reporting | エラー報告レベル |
| display_errors | エラーを画面に表示するかどうか |
特に確認しておきたいのは、PHPのバージョン、Loaded Configuration File、必要な拡張機能、メモリ上限、アップロード容量、エラー設定です。
phpinfo.php は確認後に削除する
phpinfo() は非常に便利ですが、サーバー内部の詳細情報を表示します。
たとえば、PHPのバージョン、設定ファイルのパス、拡張機能、サーバー情報、環境変数などが外部から見える状態になるため、本番環境に置きっぱなしにするのは危険です。
確認が終わったら、phpinfo.php は必ず削除してください。
外部公開サーバーで使用する場合は、削除するだけでなく、必要に応じてIP制限やBasic認証などでアクセス制限を行うとより安全です。
PHPのビルトインサーバーで動作確認する方法
ローカル環境で手軽にPHPの動作確認をしたい場合は、PHPに標準で用意されているビルトインサーバーを使う方法があります。
PHPのビルトインサーバーを使えば、ApacheやNginxを用意しなくても、簡易的にPHPをブラウザで実行できます。
ビルトインサーバーを起動する
作業用フォルダに index.php を作成します。
<?php
echo "PHPのビルトインサーバーで動作しています。";
そのフォルダで、以下のコマンドを実行します。
php -S localhost:8000
ブラウザで以下にアクセスします。
http://localhost:8000
画面に以下のように表示されれば成功です。
PHPのビルトインサーバーで動作しています。
環境によっては、以下のように 127.0.0.1 を指定して起動してもよいです。
php -S 127.0.0.1:8000
この場合は、ブラウザで以下にアクセスします。
http://127.0.0.1:8000
ドキュメントルートを指定する場合
Laravelなどのフレームワークでは、public ディレクトリを公開ディレクトリとして使うことがあります。
その場合は、以下のように -t オプションでドキュメントルートを指定します。
php -S localhost:8000 -t public
このコマンドを実行すると、public ディレクトリをWebサーバーの公開ディレクトリとして扱えます。
ビルトインサーバーは本番環境では使わない
PHPのビルトインサーバーは、ローカル開発や簡単な動作確認には便利です。
しかし、本番環境や外部公開サーバーで使用するものではありません。
あくまで開発・テスト用途の簡易サーバーです。
実際の運用では、Apache、Nginx、PHP-FPMなどを適切に設定して利用します。
php.ini の読み込み状況を確認する方法
PHPの動作確認では、php.ini がどこから読み込まれているかを確認することも重要です。
php.ini は、PHPの設定を管理するファイルです。
メモリ上限、アップロード容量、エラー表示、タイムゾーン、拡張機能など、多くの設定がこのファイルで管理されています。
コマンドラインで php.ini を確認する
コマンドラインでは、以下のコマンドで php.ini の読み込み状況を確認できます。
php --ini
表示例は以下のようになります。
Configuration File (php.ini) Path: /usr/local/etc/php/8.4
Loaded Configuration File: /usr/local/etc/php/8.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/8.4/conf.d
この中で特に重要なのは、Loaded Configuration File です。
ここに表示されているファイルが、現在のPHPで読み込まれている php.ini です。
ブラウザで php.ini を確認する
Webサーバー経由で読み込まれている php.ini は、phpinfo() の画面で確認できます。
phpinfo() の画面内にある以下の項目を確認します。
Loaded Configuration File
ここに表示されているパスが、ブラウザからPHPを実行したときに読み込まれている php.ini です。
CLI版とWebサーバー版で設定が違う場合がある
注意点として、コマンドラインで実行したPHPと、Webサーバー経由で実行したPHPでは、読み込まれる php.ini が異なる場合があります。
たとえば、コマンドラインではPHP 8.4が使われているのに、ブラウザの phpinfo() ではPHP 8.2が表示されることがあります。
これは、CLI版PHPとWebサーバー側のPHPが別々に設定されているためです。
PHPの動作確認では、以下をそれぞれ確認しましょう。
php -vで確認できるPHPバージョンphp --iniで確認できるCLI用のphp.iniphpinfo()で確認できるWebサーバー経由のPHPバージョンphpinfo()で確認できるWebサーバー用のphp.iniServer APIの内容
WebサイトやCMSで使われるのは、基本的にWebサーバー経由のPHPです。
したがって、ブラウザで確認した phpinfo() の内容を重視することが大切です。
PHPの拡張機能を確認する方法
PHPでは、標準機能に加えて拡張機能を使うことで、データベース接続、画像処理、暗号化、マルチバイト文字処理などを行います。
CMSやフレームワークによっては、特定の拡張機能が有効になっていないと正常に動作しないことがあります。
コマンドラインで拡張機能一覧を確認する
有効になっているPHP拡張機能は、以下のコマンドで確認できます。
php -m
表示例は以下のようになります。
[PHP Modules]
curl
mbstring
mysqli
openssl
pdo_mysql
zip
この一覧に必要な拡張機能が含まれていれば、CLI環境ではその拡張機能が有効です。
特定の拡張機能が有効か確認する
たとえば、mbstring が有効か確認したい場合は、以下のようにします。
macOSやLinuxの場合は、以下のコマンドを使います。
php -m | grep mbstring
Windowsの場合は、以下のコマンドを使います。
php -m | findstr mbstring
mbstring と表示されれば、その拡張機能は有効です。
PHPコードで拡張機能を確認する
PHPコードから拡張機能の有効・無効を確認することもできます。
<?php
if (extension_loaded('mbstring')) {
echo 'mbstringは有効です。';
} else {
echo 'mbstringは無効です。';
}
このように extension_loaded() を使うと、指定したPHP拡張機能が読み込まれているかを確認できます。
よく確認するPHP拡張機能
WebサイトやCMSでよく必要になるPHP拡張機能には、以下のようなものがあります。
| 拡張機能 | 主な用途 |
|---|---|
| mbstring | 日本語などのマルチバイト文字処理 |
| mysqli | MySQL接続 |
| pdo_mysql | PDO経由のMySQL接続 |
| curl | 外部API通信 |
| openssl | SSL/TLSや暗号化関連 |
| gd | 画像処理 |
| imagick | 高機能な画像処理 |
| zip | ZIPファイル操作 |
| intl | 国際化処理 |
| xml | XML処理 |
| fileinfo | ファイルタイプ判定 |
| opcache | PHP実行の高速化 |
WordPressでは、mysqli、curl、mbstring、openssl、xml、zip、gd、imagick などが関係することが多いです。
Laravelでは、mbstring、openssl、pdo_mysql、tokenizer、xml、ctype、fileinfo などを確認することが多いです。
エラー表示でPHPの動作確認をする方法
PHPが実行できるかだけでなく、エラーが確認できる状態になっているかも重要です。
開発環境では、エラーや警告が表示されるようにしておくことで、不具合の原因を把握しやすくなります。
開発環境でエラー表示を有効にする
開発環境では、以下のようにエラー表示を有効にできます。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo $undefined_variable;
この例では、未定義の変数を出力しようとしているため、設定によってはWarningなどのメッセージが表示されます。
より明確にエラー表示を確認したい場合は、存在しない関数を呼び出す方法もあります。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
undefined_function_test();
ただし、このコードは致命的エラーを発生させるため、必ず開発環境でのみ使用してください。
本番環境ではエラーを画面表示しない
本番環境では、display_errors を有効にしたままにしない方が安全です。
エラー画面には、ファイルパス、サーバー構成、プログラムの内部情報などが表示される場合があります。
これらの情報が外部に公開されると、セキュリティ上のリスクになります。
本番環境では、エラーを画面に表示するのではなく、ログに記録する設定にします。
確認すべき主な設定は以下です。
display_errors = Off
log_errors = On
error_log = /path/to/php-error.log
開発環境ではエラーを画面に表示し、本番環境ではログに記録する、という使い分けが基本です。
データベース接続の動作確認をする方法
WordPressやLaravelなど、多くのPHPアプリケーションではデータベースを使用します。
PHP自体が正常に動作していても、データベースに接続できなければ、Webサイトやシステムは正常に動作しません。
PDOでMySQL接続を確認する
MySQLやMariaDBに接続する場合は、PDOを使って以下のように確認できます。
<?php
$host = 'localhost';
$dbname = 'test_db';
$user = 'root';
$password = '';
try {
$pdo = new PDO(
"mysql:host={$host};dbname={$dbname};charset=utf8mb4",
$user,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]
);
echo "データベース接続に成功しました。";
} catch (PDOException $e) {
echo "データベース接続に失敗しました。";
// 開発環境でのみ使用してください
// echo "<br>" . $e->getMessage();
}
接続に成功すれば、以下のように表示されます。
データベース接続に成功しました。
本番環境では詳細なエラー内容を表示しない
開発環境では、$e->getMessage() を表示することで、接続失敗の原因を確認できます。
ただし、本番環境ではエラー内容をそのまま画面に表示しないようにしてください。
データベース名、ホスト名、ユーザー名、ファイルパスなどが表示される可能性があり、セキュリティ上のリスクになります。
本番環境では、エラー内容はログに記録し、画面上には一般的なメッセージだけを表示するのが安全です。
フォーム送信の動作確認をする方法
問い合わせフォームやログインフォームを作る場合は、PHPでPOST送信を受け取れるか確認します。
1ファイルでフォーム送信を確認する
以下の内容で form-test.php を作成します。
<?php
$name = $_POST['username'] ?? '';
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>フォーム送信テスト</title>
</head>
<body>
<form method="post">
<input type="text" name="username" placeholder="名前を入力">
<button type="submit">送信</button>
</form>
<?php if ($name !== ''): ?>
<p>
入力内容:
<?php echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); ?>
</p>
<?php endif; ?>
</body>
</html>
ブラウザでこのファイルにアクセスし、フォームに文字を入力して送信します。
入力した内容が画面に表示されれば、POST送信の基本動作は確認できています。
出力時はエスケープ処理を行う
フォームに入力された値を画面に表示する場合は、htmlspecialchars() を使ってエスケープ処理を行います。
<?php echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); ?>
エスケープ処理を行わずに入力内容をそのまま表示すると、クロスサイトスクリプティングなどの脆弱性につながる可能性があります。
動作確認用の簡単なフォームであっても、出力時のエスケープ処理は習慣として入れておくとよいでしょう。
セッションの動作確認をする方法
ログイン機能や会員機能を作る場合は、セッションが正常に使えるかも確認します。
セッション確認用のPHPファイルを作成する
以下の内容で session-test.php を作成します。
<?php
session_start();
$_SESSION['test'] = 'セッション確認';
echo $_SESSION['test'];
ブラウザでアクセスし、以下のように表示されれば、セッションの基本動作は確認できています。
セッション確認
セッションが動作しない場合の確認点
セッションがうまく動作しない場合は、以下を確認します。
session_start()より前にHTMLや空白を出力していないか- ブラウザでCookieが有効になっているか
session.save_pathが正しく設定されているか- セッション保存ディレクトリに書き込み権限があるか
- HTTPS環境でCookieの設定に問題がないか
特に、session_start() の前に余計な出力があると、セッションが正常に開始できない場合があります。
ファイルアップロードの動作確認をする方法
画像やPDFなどのファイルアップロード機能を使う場合は、PHPのアップロード設定を確認します。
確認すべきPHP設定
phpinfo() または php.ini で、以下の項目を確認します。
file_uploads
upload_max_filesize
post_max_size
max_file_uploads
max_execution_time
memory_limit
特に重要なのは、upload_max_filesize と post_max_size です。
アップロード容量の設定例
たとえば、10MBのファイルをアップロードしたい場合は、以下のような設定にします。
upload_max_filesize = 10M
post_max_size = 12M
memory_limit = 128M
post_max_size は、フォーム全体で送信できる最大サイズです。そのため、通常は upload_max_filesize より大きく設定します。
また、大きなファイルをアップロードする場合は、max_execution_time や memory_limit もあわせて確認します。
WordPressでPHPの動作確認をする方法
WordPressを使用している場合は、PHPのバージョンや拡張機能がWordPressの要件を満たしているかを確認します。
サイトヘルスで確認する
WordPress管理画面では、サイトヘルスからPHPの状態を確認できます。
管理画面で以下を開きます。
ツール > サイトヘルス
サイトヘルスでは、PHPのバージョン、データベース、HTTPS、REST API、PHP拡張機能などに関する情報を確認できます。
PHPバージョンと互換性を確認する
WordPressを安全に運用するには、WordPress本体だけでなく、使用しているテーマやプラグインが現在のPHPバージョンに対応しているかを確認する必要があります。
特にPHPのバージョンを上げる場合は、以下を事前に確認しましょう。
- WordPress本体の対応状況
- 使用中テーマの対応状況
- 使用中プラグインの対応状況
- 独自カスタマイズコードの互換性
- サーバー側のPHP拡張機能
- バックアップの取得状況
古いテーマやプラグイン、自作コードでは、新しいPHPバージョンでWarningやFatal errorが発生することがあります。
PHPを変更する前には、必ずバックアップを取り、可能であればテスト環境で確認してから本番環境に反映しましょう。
Composerを使うPHPプロジェクトの動作確認
LaravelなどComposerを使うプロジェクトでは、PHP単体だけでなくComposerも確認します。
Composerのバージョンを確認する
以下のコマンドでComposerが使えるか確認します。
composer -V
または、以下でも確認できます。
composer --version
Composerのバージョンが表示されれば、Composerは使用できます。
依存パッケージをインストールする
プロジェクトディレクトリに移動し、以下を実行します。
composer install
依存パッケージのインストールが正常に完了すれば、PHPのバージョンや必要な拡張機能がプロジェクトの要件をおおむね満たしていることを確認できます。
Laravelの場合の動作確認
Laravelの場合は、以下のコマンドで開発用サーバーを起動できます。
php artisan serve
ブラウザで以下にアクセスします。
http://127.0.0.1:8000
Laravelの画面が表示されれば、基本的な動作確認はできています。
ただし、実際の本番環境では、Laravelの public ディレクトリをドキュメントルートに設定し、WebサーバーやPHP-FPMを適切に構成する必要があります。
PHPの設定変更後に反映されない場合の確認点
php.ini を変更したのに設定が反映されない場合は、いくつかの原因が考えられます。
正しい php.ini を編集しているか確認する
まず、編集している php.ini が実際に読み込まれているファイルか確認しましょう。
CLIの場合は以下で確認します。
php --ini
ブラウザ経由の場合は、phpinfo() の Loaded Configuration File を確認します。
CLIとWebサーバーで別の php.ini を読み込んでいる場合があるため、どちらの環境に反映したいのかを意識して確認することが重要です。
WebサーバーやPHP-FPMを再起動する
php.ini の変更後は、環境に応じて再起動や再読み込みが必要です。
| 環境 | 再起動・再読み込み対象 |
|---|---|
| Apacheモジュール版PHP | Apacheを再起動 |
| PHP-FPM + Nginx | PHP-FPMを再起動、必要に応じてNginxを再読み込み |
| PHP-FPM + Apache | PHP-FPMを再起動、必要に応じてApacheを再読み込み |
| CLIのみ | ターミナルを開き直す、または再実行 |
| レンタルサーバー | 管理画面で設定を保存し、反映を待つ |
設定を変更しても反映されない場合は、再起動が不足していないか確認しましょう。
PHPの動作確認でよくあるトラブル
PHPの動作確認では、いくつかの典型的なトラブルがあります。
php -v が使えない
php -v を実行してもPHPのバージョンが表示されない場合は、以下の原因が考えられます。
- PHPがインストールされていない
- PATHが通っていない
- 複数のPHPがインストールされている
- ターミナルやコマンドプロンプトを再起動していない
- インストール先が正しくない
どのPHPが使われているか確認するには、以下のコマンドを使います。
macOSやLinuxの場合は、以下です。
which php
Windowsの場合は、以下です。
where php
PHPの実行ファイルの場所が表示されれば、PATHは通っています。
ブラウザでPHPが実行されない
PHPファイルにアクセスしてもコードがそのまま表示される場合は、WebサーバーがPHPを処理できていません。
以下を確認しましょう。
- ApacheやNginxが起動しているか
- PHPがインストールされているか
- PHP-FPMが起動しているか
.phpがPHPとして処理される設定になっているか- ドキュメントルートが正しいか
file://ではなくhttp://またはhttps://でアクセスしているか
特に初心者の場合、PHPファイルを直接ダブルクリックして開いてしまうケースがあります。
PHPはWebサーバーを通して実行する必要があるため、URLの形式も確認しましょう。
php -v と phpinfo() のPHPバージョンが違う
コマンドラインで確認したPHPバージョンと、ブラウザの phpinfo() で表示されるPHPバージョンが違うことがあります。
たとえば、以下のようなケースです。
php -v
# PHP 8.4
一方で、ブラウザの phpinfo() では以下のように表示される場合があります。
PHP Version 8.2
これは、CLI版PHPとWebサーバーで使われているPHPが異なるためです。
この場合は、Webサイトで実際に使われているPHPがどちらなのかを確認することが重要です。
通常、Webサイトで使われているPHPは phpinfo() で確認した内容です。
設定を変更したのに反映されない
PHPの設定を変更したのに反映されない場合は、以下を確認します。
- 正しい
php.iniを編集しているか - Webサーバーを再起動したか
- PHP-FPMを再起動したか
.user.iniなどで別の設定が上書きされていないか- レンタルサーバーの管理画面側の設定が優先されていないか
- CLIとWebサーバーで別の設定ファイルを見ていないか
特にレンタルサーバーでは、php.ini を直接編集するのではなく、管理画面からPHP設定を変更するケースもあります。
PHPの動作確認用チェックリスト
PHPの動作確認では、以下の項目を確認しておくと安心です。
□ php -v でPHPバージョンを確認した
□ php test.php でCLI実行を確認した
□ Webサーバー経由で test.php を表示できた
□ PHPコードがそのまま表示されていない
□ phpinfo() でPHP設定を確認した
□ Loaded Configuration File を確認した
□ CLI版とWebサーバー版のPHPバージョン差を確認した
□ 必要な拡張機能が有効になっている
□ memory_limit を確認した
□ upload_max_filesize を確認した
□ post_max_size を確認した
□ date.timezone を確認した
□ display_errors の設定を確認した
□ エラーログの出力先を確認した
□ データベース接続を確認した
□ セッションの動作を確認した
□ ファイルアップロード設定を確認した
□ 確認後に phpinfo.php を削除した
すべてを毎回確認する必要はありませんが、本番環境やCMSの移行、PHPバージョン変更、サーバー移転の際には、できるだけ多くの項目を確認しておくとトラブルを防ぎやすくなります。
PHPの動作確認用サンプルコード
最後に、PHPの基本的な情報をまとめて確認できるサンプルコードを紹介します。
以下の内容で check.php を作成します。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo "<h1>PHP動作確認</h1>";
echo "<p>PHPは正常に動作しています。</p>";
echo "<h2>PHPバージョン</h2>";
echo "<p>" . PHP_VERSION . "</p>";
echo "<h2>現在の日時</h2>";
echo "<p>" . date('Y-m-d H:i:s') . "</p>";
echo "<h2>mbstring確認</h2>";
if (extension_loaded('mbstring')) {
echo "<p>mbstringは有効です。</p>";
} else {
echo "<p>mbstringは無効です。</p>";
}
echo "<h2>pdo_mysql確認</h2>";
if (extension_loaded('pdo_mysql')) {
echo "<p>pdo_mysqlは有効です。</p>";
} else {
echo "<p>pdo_mysqlは無効です。</p>";
}
echo "<h2>php.ini</h2>";
$phpIni = php_ini_loaded_file();
if ($phpIni) {
echo "<p>" . htmlspecialchars($phpIni, ENT_QUOTES, 'UTF-8') . "</p>";
} else {
echo "<p>php.ini は読み込まれていません。</p>";
}
このファイルをWebサーバーの公開ディレクトリに配置し、ブラウザで以下のようにアクセスします。
http://localhost/check.php
PHPのバージョン、現在時刻、拡張機能、読み込まれている php.ini が表示されれば、基本的な動作確認ができます。
ただし、このファイルもサーバー情報を表示するため、本番環境では確認後に削除してください。
まとめ
PHPの動作確認では、まず php -v でPHPがインストールされているかを確認し、次に簡単なPHPファイルを作成して実行できるかを確認します。
そのうえで、Webサーバー経由でPHPファイルが正しく実行されるか、phpinfo() で設定や拡張機能が確認できるかを見ていきます。
特に重要なのは、コマンドラインで動くPHPとWebサーバー経由で動くPHPが異なる場合がある点です。
php -v だけで判断せず、ブラウザ上での動作確認も必ず行いましょう。
また、phpinfo() や display_errors は便利ですが、本番環境で外部に公開したままにするとセキュリティリスクになります。
確認後はファイルを削除し、本番環境ではエラーを画面表示せず、ログに記録する設定にすることが大切です。
PHPの動作確認を丁寧に行うことで、CMSの不具合、フォーム送信エラー、データベース接続エラー、アップロード不具合などを事前に防ぎやすくなります。
サーバー移転、PHPバージョン変更、サイト公開前には、必ず基本的な動作確認を行いましょう。
以上、PHPの動作確認を行う方法についてでした。
最後までお読みいただき、ありがとうございました。










