[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() 오류는 발생하지 않을 것이다.