PHP Extension so 파일 생성 문의
웁쓰~ 신경쓰지 마십시오.
그냥 제 실수로 안된거네요.
------------------------------------
안녕하세요.
아래 [compile 1] 가이드에 따라 진행하면 모두 정상적으로 수행됩니다.
그런데 이건 so 파일이 생성성되지 않고 php에 함께 빌드되는 것 같습니다.
phpize 등을 통해서 해봐도 so 파일은 생성되지 않네요.
그래서 [compile 1] 방법으로 컴파일 하고, [compile 2] 방법으로 직접 컴파일하면 so 파일이 생성됩니다.
이후, ./bin/php -d extension=testext.so -m 테스트 해보면 PHP는 TS(thread safe)로 컴파일 되고, PHP Extension은 NTS(not thread safe)로 컴파일되서 모듈을 로드하지 못하는 것 같습니다.
어떻게 해결할 수 있는 방법이 없을까요? 이것저것 시도해 봤는데 잘 안되네요.
조언 부탁드립니다.
[compile 1]
./ext_skel --extname=testext
1. $ cd ..
2. $ vi ext/testext/config.m4 (enable 또는 with를 주석처리)
3. $ ./buildconf (--force 옵션 추가함)
4. $ ./configure --[with|enable]-testext
5. $ make
6. $ ./sapi/cli/php -f ext/testext/testext.php (정상적으로 컴파일 됐다고 나옴)
7. $ vi ext/testext/testext.c
8. $ make
[compile 2]
cc -fPIC -c -DCOMPILE_DL_TESTEXT=1 testext.c -I/usr/local/include -I../../TSRM -I../../main -I../../Zend
cc -shared -W1,-soname,testext.so.1 -o testext.so testext.o
[개발환경]
- Ubuntu 12.04 x64
- php-5.5.13
댓글 달기