windows環境のphpで「Uncaught Error: Call to undefined function mysqli_connect()」が発生した場合の対処法

windows環境のphpで「Uncaught Error: Call to undefined function mysqli_connect()」が発生した場合の対処法

windows環境にインストールしたphpでmysqli_connect使用時に「Uncaught Error: Call to undefined function mysqli_connect()」が発生した場合の原因と対処法

環境

  • OS windows10 pro 64bit
  • php 7.4.5

エラー全文

mysqli_connectを使用時に発生。

$mysqli = mysqli_connect('localhost', 'root', 'password', 'mydb');

< エラー内容 >

 [php7:error] [pid 15704:tid 1496] [client ::1:55160] 
PHP Fatal error:  Uncaught Error: Call to undefined function mysqli_connect()

原因

「ext」フォルダにある拡張機能である「php_mysqli.dll」が、php.iniの設定で読み込まれていない
※自分の「ext」フォルダは「C:\php-7.4.5-Win32-vc15-x64」配下に存在します。

対処法

php.iniに記述されている以下の箇所を編集します。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"

<編集>
;コメントアウトを外して、extフォルダを絶対PATHで記述
extension_dir = "C:\php-7.4.5-Win32-vc15-x64\ext" 

以下もコメントアウトを外します。

;extension=mysqli

<編集>
extension=mysqli

webサーバーを再起動します。自分は「apache」を使用しているので、「apache」を再起動すればエラーは解消されます。