WEB工房しずおかのロゴ

WEB工房しずおか

PHP 8.3環境でphpMyAdminを使うと出るDeprecation Notice(非推奨警告)の原因と解決方法

WEB
Koshio

PHP 8.3 phpMyAdmin 警告解決

みなさん、こんにちは!WEB工房しずおかの開発チームです。

弊社では、Webアプリケーションの開発やサーバー構築だけでなく、ローカル環境での開発・検証基盤の整備も日々行っています。

今回は、WindowsのローカルPC環境にApacheとPHP 8.3を導入し、phpMyAdminにアクセスした際に発生する Deprecation Notice(非推奨警告)の解決方法 について分かりやすく解説します!


1. 発生する問題(エラー・警告メッセージ)

Windowsローカル環境のApache上でPHP 8.3を稼働させ、phpMyAdminを開くと画面上部に以下のような Deprecation Notice(非推奨警告)が複数出力されることがあります。

Deprecation Notice in .\vendor\twig\twig\src\Loader\FilesystemLoader.php#40
 realpath(): Passing null to parameter #1 ($path) of type string is deprecated

Backtrace
.\vendor\twig\twig\src\Loader\FilesystemLoader.php#40: realpath(NULL)
...

Deprecation Notice in .\vendor\twig\twig\src\Markup.php#35
 Return type of Twig\Markup::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
...

原因

この問題は、PHP 8.3 に対してインストールされている phpMyAdmin(および内部で使われている Twig テンプレートエンジン)のバージョンが古いこと が原因です。

PHP 8.1〜8.3にかけて、関数の引数に null を渡す挙動の非推奨化(realpath(null) など)や、インターフェースの実装における戻り値の型宣言(Countable::count() など)の厳格化が行われました。古いバージョンのphpMyAdminに含まれる外部ライブラリがこれらの新しい仕様に対応していないため、非推奨警告が発生してしまいます。


2. 解決方法

解決手順には、「根本解決(phpMyAdminのアップデート)」「非推奨警告の非表示化」 の2種類があります。開発環境の状況に合わせて選択してください。


解決策1:phpMyAdminを最新版へ更新する(推奨)

PHP 8.3 に正式対応した phpMyAdmin(5.2.1 以降)へアップデートすることで、根本的に警告を解消します。

STEP 1:最新パッケージのダウンロード

phpMyAdmin 公式サイト にアクセスし、最新版の .zip パッケージをダウンロードします。

STEP 2:ファイルの置き換え

  1. 既存の phpMyAdmin ディレクトリ(例: C:\dev\phpMyAdmin8\ など)をバックアップします。
  2. ダウンロードした ZIP ファイルを解凍し、中身のファイルを既存のディレクトリへ上書き(または差し替え)します。
  3. 既存の config.inc.php 設定ファイルを新しいディレクトリへ配置します。

STEP 3:動作確認

ブラウザで phpMyAdmin にアクセスし、Deprecation Notice が消えて正常にログイン画面が表示されることを確認します。


解決策2:php.ini で非推奨警告を非表示にする(クイック対処)

「開発環境のphpMyAdmin本体をすぐに更新できない」という場合は、PHPの設定ファイル(php.ini)で非推奨通知(E_DEPRECATED)を出力しないように設定します。

STEP 1:php.ini の編集

使用している PHP の設定ファイル(php.ini)をテキストエディタで開きます。

error_reporting の項目を検索し、非推奨通知を除外するように修正します。

; 非推奨通知(E_DEPRECATED)を除外設定
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

あわせて、画面へのエラー描画をオフに設定したい場合は display_errors を以下のように変更します。

display_errors = Off

STEP 2:Apache の再起動

設定変更を反映させるため、Apache サービスを再起動します。

STEP 3:動作確認

ブラウザで phpMyAdmin を再読み込みし、画面上に表示されていた警告ログが消えていることを確認します。


まとめ:PHPのバージョンアップに伴うライブラリ管理

今回は、PHP 8.3環境で発生する phpMyAdmin の Deprecation Notice の原因と解決手順をご紹介しました。

PHPはバージョンアップごとに言語仕様の厳格化やセキュリティ強化が行われるため、PHP本体のバージョンを上げた際は、併せて利用するWebツールやライブラリ群も最新版へ更新するのが安全です。

WEB工房しずおかでは、モダンな開発環境の構築からWebサーバーインフラの設計・運用保守まで幅広くサポートしております。開発環境トラブルやサーバー構築でお悩みの際は、ぜひお気軽にお問い合わせください!