PECL 확장모듈을 PHP안에 정적으로 컴파일 하기

아마도 필요한 PECL 확장모듈을 PHP 바이너리 안에 정적으로 빌드하는 방법을 찾을 것입니다. 이것을 위해서는, 확장모듈 소스를 php-src/ext/ 디렉터리 아래에 위치시키고, PHP 빌드 시스템에 설정(configure) 스크립트를 다시 만들라고 말해줄 필요가 있습니다.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

이 스크립트는 아래의 디렉터리를 만들어 냅니다.:


/your/phpsrcdir/ext/extname

여기에서, 강제로 PHP 설정 스크립트를 리빌드 한다음, 통상적인 방법으로 PHP를 빌드하십시오:


$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Note: 'buildconf' 스크립트를 실행하기 위해서는 autoconf 2.13 버전과 automake 1.4+ 의 버전이 필요합니다. (새로운 버전의 autoconf는 동작할지도 모르나 지원되지 않을수도 있습니다.)

--enable-extname 이든 --with-extname 이든 그것들은 확장모듈 의존성을 위해 사용됩니다. 일반적으로 외부 라이브러리를 필요로하지 않는 확장모듈은 --enable 을 사용합니다. 확인을 위해 다음의 buildconf를 실행하십시오.:


$ ./configure --help | grep extname

add a note add a note

User Contributed Notes 1 note

up
5
anthon at piwik dot org
11 years ago
Some extensions cannot be statically linked (e.g., xdebug).
To Top