Uncaught Error: Call to undefined function curl_init() 해결 방법 2가지

윈도우 아파치에서 PHP Fatal error: Uncaught Error: Call to undefined function curl_init() 에러가 발생했을 때 해결하는 방법 2가지를 알려드릴게요.

제가 겪었던 문제 상황을 잠깐 설명드리면 다음과 같습니다.

개발자 도구에서 500 internal Server error가 뜬 것을 확인한 캡처

제가 설치한 워드프레스에서 특정 플러그인이 동작을 안하길래 F12 개발자 도구를 열어보니 500 internal server Error가 발생했습니다.

아파치 로그 error.log에 PHP Fatal error: Uncaught Error: Call to undefined function curl_init() 에러 캡처

아파치 로그 error.log를 살펴보니 PHP Fatal error: Uncaught Error: Call to undefined function curl_init() 에러가 발생한 걸 확인했습니다. php에 curl 모듈이 정상적으로 잡혀있지 않는 것으로 추정됩니다.

Uncaught Error: Call to undefined function curl_init() 해결법

첫번째 : php.ini 확인 및 수정

가장 먼저 확인해야 할 것은 php.ini 파일입니다. php가 설치된 폴더로 진입해주세요.

php.ini 파일에서 extension=curl을 활성화한 사진

php.ini파일을 열어 extension=curl을 찾은 후 앞에 세미콜론 (;)이 있는 지 확인해주세요. 만약 세미콜론이 있다면 지우고 저장합니다. 그리고 아파치를 (httpd.exe) 재시작합니다.

아파치에서 phpinfo를 확인하고 curl 모듈이 인식되었는 지 확인한 사진

이어서 아파치 phpinfo를 확인하여 [curl] 항목이 있는 지 검색합니다. 위와 같이 curl 항목이 있다면 적용이 완료된 것입니다.

  • 위 phpinfo를 확인하는 방법을 모른다면 [여기]를 클릭해보세요. 쉽고 빠르게 알려드려요.

두번째 : libssh2.dll 파일 수정

만약에 extension=curl의 세미콜론을 삭제하구 아파치를 재시작해도 phpinfo에 curl이 없다면 다음을 진행해주세요.

  1. php가 설치된 폴더에서 libssh2.dll 파일을 찾아서 복사한다.
  2. Apache가 설치된 폴더의 bin/ 디렉토리로 이동하여 복사한 libssh2.dll 파일을 붙여넣는다.
  3. Apahe 재시작

이후 phpinfo를 확인해보면 curl이 잡힌 것을 볼 수 있습니다. 테스트해보니 처음에 발생했던 curl_init() 함수를 못 찾던 에러는 더이상 발생하지 않았습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다