ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 에러가 난다면 같은이유일듯,,)

    반응형
Designed by Tistory.