본문 바로가기
개발/php

php curl 수동 설치하기 Fatal error: Call to undefined function curl_init()

by 향유 2021. 1. 28.

방화벽이 막혀 있어서 apt-get 이나 yum을 사용할수 없는 환경에서는 직접 확장모듈 curl을 설치해주어야 한다.

phpize 를 이용하면 되는데 방법은 아래와 같다.


1.phpinfo() 를 출력하여 작업 디렉토리 확인

configure command 경로예시

 '--prefix=/php/php-.7.2.34'

2. ext/curl 접속

cd /php/php-7.2.34/ext/curl

 

3.phpize 명령 실행 및 curl 모듈 설치

 

작업 전 확인

ls


CREDITS  config.m4  config.w32  curl.dsp  interface.c  multi.c  package.xml  php_curl.h  streams.c  tests

모듈추가

phpize



Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519  

결과 확인

ls



CREDITS          aclocal.m4      config.guess  config.sub  configure.in  interface.c  mkinstalldirs  php_curl.h     tests
Makefile.global  autom4te.cache  config.h.in   config.w32  curl.dsp      ltmain.sh    multi.c        run-tests.php
acinclude.m4     build           config.m4     configure   install-sh    missing      package.xml    streams.c

configure 이 생성되었는지 확인해봅니다

 

4. configure 실행 하여 컴파일

configure 스크립트에 사용될 php-config 파일을 찾습니다. 

# find / -name php-config


/php/php-7.2.34/bin/php-config

configure 실행

#./configure --with-php-config=/php/php-7.2.34/bin/php-config  --enable-curl

configure: creating ./config.status
config.status: creating config.h

 

make 실행

#make

#make test

#make install


module/curl.so 생성되면 정상

 

4.php.ini 파일에 설정 추가 및 apache restart

 

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
extension=curl.so

 

5. 추가된 모듈 확인

 

phpinfo()

댓글