[PHP] Fatal error: Uncaught Error: Call to undefined function mysqli_connect()

[PHP] Fatal error: Uncaught Error: Call to undefined function mysqli_connect()

1. php.ini 파일 수정

[php설치경로] 의 php.ini 파일을 수정한다.

(ex : C:\coding\php7\php.ini)


1-1. extension_dir 경로 지정

[AS-IS]

; Directory in which the loadable extensions (modules) reside.

; http://php.net/extension-dir

; extension_dir = “./”

; On windows:

; extension_dir = “ext”


[TO-BE]

; Directory in which the loadable extensions (modules) reside.

; http://php.net/extension-dir

; extension_dir = “./”

; On windows:

; extension_dir = “ext”

extension_dir = “C:/coding/php7/ext”


1-2. php_mysqli.dll 사용하도록 주석해제

[AS-IS]

;extension=php_mysqli.dll

[TO-BE]

extension=php_mysqli.dll

저장하고 아치피 웹서버를 재기동해본다.

2. Configuration File 확인

재기동해도 똑같은 에러가 발생된다면 phpinfo.php 를 만들어서 php.ini 파일이 제대로 로드되었는지 확인해보자.


[Apache 설치폴더]/htdocs에 phpinfo.php 파일을 만든다.

파일 내용은 다음과 같이 입력한다.


<?php phpinfo(); ?>


 

phpinfo.php 페이지에 접속했을 때 “Loaded Configuration File” 항목의 값이 (none)이라면 php.ini 파일이 제대로 로드되지 않은 것이다.


2-1. php.reg 작성 및 실행

원하는 위치에 아래 내용으로 php.reg 파일을 작성한다.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]

“IniFilePath”=”C:\coding\php7”


“IniFilePath”의 내용은 실제 php가 설치된 위치여야 한다.

이후 php.reg 파일을 실행한다. 경고 메시지가 나오면 [예]를 클릭한다.

2-2. 레지스트리 확인

[시작] – [실행] – [regedit] 를 실행한다.

컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\PHP 위치에 들어가서 IniFilePath 값이 제대로 들어갔는지 확인한다.

 

필자의 경우 값이 제대로 들어가지 않아서 여기서 수동으로 다시 추가했다.

마우스 우클릭 – [새로 만들기] – [문자열 값]으로 만들면 된다.

아파치 웹서버를 재기동해본다.

phpinfo.php 페이지에 접속했을 때 “Loaded Configuration File” 항목의 값이 php.ini 파일경로면 성공이다.


 

이제 Fatal error: Uncaught Error: Call to undefined function mysqli_connect() 오류는 발생하지 않을 것이다.

참고사이트 : https://m.blog.naver.com/whj6648/221912391412