: 2.0.39 에서는 php_function.c 만 패치하면 됩니다.
: sapi_apache2.c 는 2.0.40 에서만 패치합니다. 이는 apache 의 API 가
: 자꾸 변동이 되서 그런거요.
:
: API 의 안정화가 오기 전에는 third-party 모듈들이 지원하기가 힘들
: 겁니다. 버젼 업데이트 될때마다 변경이 되어야 하니까 말이죠. 아마
: 그래서 mod_bandwidth 와 mod_throttle 이 2.0 용으로 개발을 하지 않
: 고 있는듯 합니다. mod_gzip 도 변경사항 따라가는 것이 버겁더군요 :-)
:
: 결론은 아직은 apache 2 를 사용할 시기는 아니다 입니다. ^^;
:
: : http://junghyun.pe.kr/php-apach2fileter.patch : : 위 주소는 김정균님이 패치를 하셨더군요
: : NULL 값을 줬는데 아파치2 , PHP 4.2.2 설치하고 나서 기존에 쓰던 펑션이 안되던데요 그래
: : 서 다시 다운그레이드 했죠
:
: 어떤 함수가 안되던가요? 제가 테스트 해 봤을 때, jsboard 2.0.1 을 사용
: 하는데는 아무런 지장이 없던데요 ^^; NULL 값을 추가해 준것은 단순하게
: apache 의 API 의 변화 때문에 들어간 것 뿐입니다.
:
: 제가 겪은 가장 큰점은 php 에서 apache 환경 변수를 하나도 읽어올 수
: 없다는 것이 문제여서 사용하고 있지 않은데 ^^;
맞습니다. jsboard 돌아가는데 문제는 없었습니다.
아파치 환경변수를 사용하지 못해서 다시 다운그레이드 했죠^^
아직 apache2 를 사용하기에는 -.-;
:
: : : <pre>
: : : Apache 2.0.39의 환경설정은
: : :
: : : ./configure --prefix=/usr/local/DSO/apache
: : : --enable-mods-shared=all
: : : --enable-so
: : : --with-port=8080
: : :
: : : 위와 같고요.
: : :
: : : PHP 4.2.2의 환경설정은
: : :
: : : ./configure --prefix=/usr/local/DSO/php
: : : --with-apxs2=/usr/local/DSO/apache2/bin/apxs
: : : --disable-debug
: : : --with-config-file-path=/usr/local/DSO/apache2/conf
: : : --enable-magic-quotes
: : : --with-zlib
: : : --with-gd=/usr
: : : --enable-gd-native-ttf
: : : --with-jpeg-dir=/usr/lib
: : : --with-png-dir=/usr/lib
: : : --with-tiff-dir=/usr/lib
: : : --with-freetype-dir=/usr/local
: : : --with-mysql=/usr/local/mysql
: : : --with-imap=/usr/local/imap
: : : --enable-sockets
: : : --enable-modules=so
: : : </pre>
: : : 와 같습니다.
: : :
: : : Apache는 이미 DSO로 설치된 상태고요.
: : :
: : : /usr/local/DSO/apache2/bin/httpd -t 와 -l 로 이미 확인된 상태입니다.
: : :
: : : DSO이므로 PHP를 나중에 추가로 설치한다고 생각하고 진행하였습니다.
: : :
: : : 위와 같이 환경설정 한후에 make 하는 중에
: : : <pre>
: : : php_functions.c:93: parse error
: : : make[3]: *** [php_functions.lo] Error 1
: : : make[3]: Leaving directory `/usr/local/src/web/php-4.2.2/sapi/apache2filter'
: : : make[2]: *** [all-recursive] Error 1
: : : make[2]: Leaving directory `/usr/local/src/web/php-4.2.2/sapi/apache2filter'
: : : make[1]: *** [all-recursive] Error 1
: : : make[1]: Leaving directory `/usr/local/src/web/php-4.2.2/sapi'
: : : make: *** [all-recursive] Error 1
: : : </pre>
: : : 와 같은 에러가 나옵니다.
: : :
: : : 그래서 php 소스에 이상이 있구나 생각하고 php.net에서 한참을 찾았습니다..
: : :
: : : http://www.php.net/manual/en/install.linux.php : : :
: : : 위 페이지에서 잘 찾아보시면 볼 수가 있습니다.
: : :
: : : 해결책은 에러난 파일인 php_4.2.2/sapi/apache2filter/php_functions.c 을 수정하시면 됩니다.
: : :
: : : 93번째 줄:#if !MODULE_MAGIC_AT_LEAST(20020506,0)
: : :
: : : 을 #if !AP_MODULE_MAGIC_AT_LEAST(20020506,0)로 해주시면 됩니다.
: : :
: : : 변경사항은 앞에 AP_를 붙여주는 것이죠.
: : :
: : : 고친 후에 make && make install 까지 잘 됩니다.
: : :
: : : /usr/local/DSO/apache2/bin/httpd -t 에서 php 모듈에 대한 에러가 날 수가 있습니다.
: : :
: : : mysql에 대한 라이브러리 에러가 날 경우가 있습니다. 안날 수도 있고요.
: : :
: : : 만약에 난다면 조금의 해결방법이 있습니다.
: : :
: : : php 환경 설정 부분에서 --enable-shared 을 빼시거나 필요하다는 라이브러리를
: : :
: : : mysql 설치 디렉토리에서의 lib/mysql/ 내에 있는 모든 파일을
: : :
: : : /usr/local/DSO/apache2/lib로 복사하시면 됩니다.
: : :
: : : 이상 저의 삽질기였습니다. __; 설마 이미 있는 글 아니겠죠?..
: : :
: : : 찾아도 없던데..^^;;
: : :
: : : --
: : : L!nux 사랑, 세벌식 사랑, 나라 사랑
: : : <img src="http://www.gelug.pe.kr/gelug.gif">