질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

mod_ssl 모듈 컴파일 관련 문의 드립니다.(libphp4.so 관련)

작성자 정보

  • 김동훈 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요~
몇일 끙끙대며 컴파일 하고 있는데 대체 원인이 먼지를 모르겠어서 질문좀 드리겠습니다.

mod_ssl 없이 apache + php 컴파일을 하면 정상적으로 설치,구동이 됩니다..
ssl 인증서 설치를 위해서 기본설치된 apache+php 모듈경로에 추가적으로 mod_ssl 을 패치해서
컴파일을 하게 되면, libphp4.so 파일이 새로 생성이 안됩니다.

============= 설정내용 =====================
apache 옵션
1) ./configure --prefix=/usr/local/apache3 --enable-module=so
-- php
2) ./configure --with-oci8=/oracle/app/oracle/product/8.1.7 --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.31 --with-config-file-path=/usr/local/apache3/conf --with-exec-dir=/usr/local/apache3/bin --with-xml --enable-module=so --enable-track-vars=yes --disable-debug --with-language=korean --with-charset=euc_kr
3) make
4) make install
-- apache
5) ./configure --with-layout=Apache --prefix=/usr/local/apache3 --activate-module=src/modules/php4/libphp4.a --enable-module=so --enable-shared=max
6) make
7) make install
=============================================================================

mod_ssl 소스패치후에 동일하게 컴파일을 하게 되면
이상하게 /usr/local/apache3/libexec 디렉토리 안에 다른 모든 so 파일들은 재컴파일되서 변경이 되는데
유독 libphp4.so 파일만 최초 mod_ssl 패치없이 컴파일했던 파일 그대로 있습니다.

======================== 설정내용 ===========================================
=> apache 소스패치
./configure --with-apache=../apache_1.3.31 --with-ssl=/usr/local/openssl
=> apache
- ./configure --prefix=/usr/local/apache3 --enable-module=so
=> php
- ./configure --with-oci8=/oracle/app/oracle/product/8.1.7 --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.31 --with-config-file-path=/usr/local/apache3/conf --with-exec-dir=/usr/local/apache3/bin --with-xml --enable-module=so --enable-track-vars=yes --disable-debug --with-language=korean --with-charset=euc_kr --with-openssl=/usr/local/openssl
 - make
 - make install
=> apache
 - export CFLAGS="${CFLAGS} -DEAPI -DHARD_SERVER_LIMIT=1024 -DDEFAULT_SERVER_LIMIT=1024"
 - ./configure --prefix=/usr/local/apache3 --enable-shared=max --enable-module=so --activate-module=src/modules/php4/libphp4.a --enable-module=ssl --enable-shared=ssl
 - make
 - make install
====================================================================================

이로인해서 생기는 문제점이 libphp4.so 파일이 새로 생성되지 않아서 아파치 구동시에

[Tue Apr 20 13:04:32 2010] [warn] Loaded DSO libexec/libphp4.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with -DEAPI)

이러한 경고가 뜨면서 아파치가 구동이 됩니다.

해당오류로 이거저거 찾아보니 php Makefile 에 CFLAGS = 부분에 -DEAPI 옵션추가후 컴파일 해보란 글이 있어서 해봤지만, libphp4.so 파일이 새로 생성이 되질 않네요.

혹시 경험하셨거나, 알고 있으신분은 답변좀 부탁드리겠습니다.

그럼, 좋은하루들 보내십시요. 

관련자료

댓글 1

장규승님의 댓글

  • 장규승
  • 작성일
보통 APM 설치순으로 mysql > apache > php 순입니다. 현재 내용을 보시면 --activate-module=src/modules/php4/libphp4.a  와 같이 정적으로 컴파일된 오브젝트를 활용하실려고 합니다. 이부분이 문제가 될것 같고

또한 아파치를 재컴파일 하셨다면 php도 재컴파일 하시는것이 옳다고 생각합니다.(꼭그렇게 안해도 되지만..ㅎㅎ)

libphp4.so 생성은 php 컴파일시 생성 되는 내용입니다.
아래 configure 옵션에서 한부분을 작성했습니다.
./configure --with-$apxs_value=/usr/local/apache/bin/apxs  ...    여기 apxs 에서 libphp4.so를 만드는데요..

결론은 php를 재컴파일 해보시면 될듯합니다.

1.3.x 버전을 설치 해본지가 오래 되어서 ㅎㅎ;;  2.0.x 버젼을 지식으로 작성 했습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,150 명
  • 현재 강좌수 :  36,425 개
  • 현재 접속자 :  281 명