>> Edit article
이름
제목
패스워드
<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">
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved