毎日のPHP開発プロセスでは、MySQLデータベースを介してデータを保存および管理することがよくあります。 MySQLI拡張機能は、MySQLデータベースに接続する一般的な方法の1つであり、柔軟で強力な機能インターフェイスを提供します。ただし、一部の開発者は、mysqli_connect()関数を使用する場合、次のエラーに遭遇する場合があります。
PHP Fatal error: Call to undefined function mysqli_connect() in file.php on line X
このエラーは、PHPがmysqli_connect()関数を認識しないことを意味します。これは、通常、関連する拡張子が適切にインストールまたは有効になっていないためです。この記事では、複数の観点からこの問題を分析して解決します。
最初のステップは、PHP環境でMySQLI拡張機能が有効になっているかどうかを確認することです。次のように確認できます。
通常、PHPインストールディレクトリの下のconfまたはルートディレクトリにあるphp.ini構成ファイルを開きます。
次の構成行を検索します。
<span class="fun">; extension = mysqli</span>
ラインの前にセミコロンがある場合。 、それは拡張機能がコメントされていることを意味します。に変更してください:
<span class="fun">extension = mysqli</span>
構成ファイルを保存し、Webサーバー(Apache、Nginxなど)を再起動します。
PHPスクリプトを再実行して、エラーがまだ存在するかどうかを確認します。
構成の変更が無効である場合、PHP環境がMySQLI拡張機能をインストールしていないことを意味します。以下の手順に従って、インストールしてください。
php.iniを開き、次の構成が有効になっていることを確認してください(セミコロンコメントなし):
extension_dir = "ext"
extension=mysqli
現在のPHPバージョンに一致するMySQLI拡張ファイルをダウンロードして解凍してください。
拡張機能ファイルをPHPインストールディレクトリのEXTフォルダーにコピーします。
PHP.iniをもう一度保存して、Webサーバーを再起動します。
PHPプログラムが通常データベースに接続できるかどうかをテストします。
バージョンの互換性は、MySQLI関数が失敗する可能性があります。そのような問題を回避するには、推奨されます。
PHPとMySQLの現在のバージョン数をクエリします。
公式のPHPドキュメントを確認して、現在のバージョンがMySQLI拡張機能をサポートしているかどうかを確認してください。
互換性がない場合は、PHPをアップグレードするか、互換性のあるバージョンにMySQLに戻ることをお勧めします。
上記の方法が機能しない場合は、拡張機能のインストールが成功したかどうかをさらに確認してください。
php.iniファイルで、次のenableステートメントが存在するかどうかをもう一度確認してください。
<span class="fun">extension = mysqli</span>
次のコマンドを実行して、ロードされたPHP拡張機能を表示できます。
Linux:
<span class="fun">php -m | grep mysqli</span>
Windows:
<span class="fun">php.exe -m</span>
mysqliが表示されない場合、拡張機能が正しくインストールされないことを意味します。対応するバージョンの拡張機能を再インストールしてください。
未定義の関数への呼び出しmysqli_connect()が報告されたときにエラーが発生した場合、拡張機能が有効になっていることを確認するために、最初にPHP構成から始めてください。次に、拡張機能が指定されたディレクトリに存在することを確認し、PHPバージョンと一致します。最後に、PHPとMySQLの互換性関係を確認します。これらの手順を通じて、基本的にこのタイプのエラーを排除および解決し、PHPとデータベースの間の通常の接続を復元できます。