[김춘희]님이 남기신 글:
>
>[산이]님이 남기신 글:
>
>>
>>[김춘희]님이 남기신 글:
>>
>>>수고하십니다.
>>>apache_1.3.28+php4.0.6을 소스로 설치하였습니다.
>>>컴파일을 마치고 아파치의 httpd.conf파일을 수정한후
>>>아파치를 시작하면
>>>syntax error on line 222 of /usr/local/apache/conf/httpd.conf
>>>cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: undefined symbol: mysql_create_db
>>>/usr/local/apache/bin/apachectl start: httpd could not be started
>>>이런 에러가뜹니다. 아파치 libexec 폴더를 보면 libphp4.so란 파일이 있습니다.
>>>몇번 지우고 다시 설치해보아도 같은 에러가납니다. 답변주시면 고맙겠습니다. 수고하세요..
>>
>>========================================
>>
>>mysql 이 설치되어 있지 않는것 같네요.
>>최소한 mysql client 가 설치되어 있어야 합니다.
>>
>>mysql -> (apache) -> php -> apache 순으로 다시 설치하세요.
>>
>>php 4.0.6 버전은 아주 오래된 버전이므로 4.3.3 버전을 다운받아
>>설치하는 것이 좋겠네요.
>
>========================================
>답변 감사합니다.mysql은 설치되어 있습니다.
>그러니까 똑같은 버전의 아파치와 php를 설치하여
>사용하다가 php컴파일 옵션이 잘못되어 수정할려고
>설치되었던걸 지우고나서 다시 설치하였는데 그런 에러가
>납니다.
========================================
PHP 를 DSO 로 컴파일할때 mysql 위치를 잘못 지정하거나
아니면 현재 mysql 헤더파일 위치가 바뀐것 같네요.
우선
/etc/ld.so.conf 파일을 열어서
제일 아래에
/usr/local/mysql/lib/mysql
이부분을 추가하고
# ldconfig
이 명령어를 한번 내려줍니다.
그리고,
# cd /usr/local/src/php-4.0.6
# ./configure
--prefix=/usr/local/php
--with-apxs=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql
--with-config-file-path=/usr/local/apache/conf
--with-regex=php
--with-zlib
--with-gd
--with-gettext
--with-db
--disable-debug
--enable-debugger
--enable-track-vars
--enable-trans-sid
--enable-ftp
--enable-calendar
--enable-sockets
--enable-sysvsem
--enable-sysvshm
--enable-safe-mode
--enable-magic-quotes
...
# make
# make install
이와 같이 정확하게 apxs 와 mysql 디렉토리를 지정해주세요.
그리고 위의 PHP 에서 mysql.so 은 libphp4.so 에 정적으로 붙기
때문에 mysql.so 같은 파일은 안만들어집니다.
php.ini 파일에서
extension = mysql.so
이와 같은 부분이 있는지 확인하고 있다면,
;extension = mysql.so
이렇게 주석으로 처리하고 아파치를 구동해 보세요.
...
참고로 mysql.so 와 같은 PHP 확장 모듈을 만들고자 한다면
--with-mysql=shared,/usr/local/mysql
이렇게 옵션을 줘야 합니다.
mysql.so 파일은 /usr/local/src/php-4.0.6 위치에서 컴파일했다면,
/usr/local/src/php-4.0.6/modules/mysql.so
에 있습니다. |