-
[centOS7] mysqli 에러 -> Call to undefined function mysqli_query개발/php 2021. 8. 19. 09:18반응형
에러 스토리 및 원인, 해결방법
에러스토리
1. centos7 처음 설치하면서 mysql,apache,php를 동시에 설치했었는데 그때 마지막순서로 php를 설치하는 과정에서
php7.3.3 버전을 타 블로그를보며 따라하다 (wget으로 받아 tar로 압축풀기 등,,) 막히자 php7.3.3버전을 지운답시고 지우고 yum을 이용해 php7.4버전을 받았음.
2. 이후 centos7이 설치된것은 방치해둔뒤 cafe24에 연동해서 작업하다가 다시 centos7이 설치된 서버로 로컬작업을 해 야할 일이 생겨서 작업된 파일을 옮긴 뒤 (정상적으로 작동되던것들) 파일경로만 맞춰서 확인하려니
Call to undefined function mysqli_query 에러가 뜨면서 계속 작업이 안됨,,,
구글링을하며 php.ini.파일도 설정해보고 했지만 결국 해결이안되었었음.
원인
1. php7.3.3버전의 폴더들이 다수 남아있었고 그 파일과연결된 php.ini만 주구장창 설정하고있어서 적용이 되지않았던것. (실제 사용중인건 php7.4버전이었는데 php7.3에 연동된 php.ini파일만 수정했던것)
해결방법
1. php7.4 폴더에있던 php.ini-development 파일을 찾았고 기존의 php.ini파일은 이름을 php.ini-210818로 수정 후
php.ini-development 파일을 php.ini로 저장함.
php.ini파일의
187행의 short_tag_on 를
short_tag_on = On 으로 변경
465행의 error_reporting 을
short_tag_on = E_ALL & ~E_NOTICE : E_NOTICE 으로 ' & ~E_NOTICE : E_NOTICE ' 추가
761행의 extension_dir 을
extension_dir = "ext폴더 경로" 로 수정. (경로는 find / -name "ext" 로 검색하면 php폴더내의 ext폴더 경로가 있음.
895행의 ;extension 을
extension=mysqli 로 '주석 제거' (기존에 작성되있으니 ; 만 제거하면 됨)
926행의 extension=mysqli 를
extension=mysqli 로 '주석 제거' (본인이 이곳저곳 블로그 보며 895행과 중복인가 싶지만,, 일단 적음..)
이정도만 수정해서 저장 후
service httpd stop
service httpd start
아파치 재시작 하면
Call to undefined function mysqli_query 에러 해결!
(아마 Call to undefined function mysqli_connect 에러가 난다면 같은이유일듯,,)
반응형'개발 > php' 카테고리의 다른 글
[php]스마트에디터2.0 연동하기 / 이미지업로드 추가 (0) 2021.09.03 [php] 게시판 검색기능 (0) 2019.10.28 [php] 페이지 리스트 갯수 (0) 2019.10.16 [php] 다중checkbox 선택 / 삭제처리 (1) 2019.10.16 네이버 smarteditor2.0 연동하기 (0) 2019.10.16