php를 5.3에서 5.2로 다운그레이드 한 후 아파치를 재실행하려고 했는데 이런 에러메세지가 나오면서 실행이 안됬다
httpd: Syntax error on line 146 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: unixd_config
해결방법은 다운받은 php 소스파일에 /sapi/apache2handler/php_functions.c 를 vi 로 들어간 후
해당 줄에 가서 수정해준다
- AP_DECLARE_DATA extern unixd_config_rec unixd_config; -> AP_DECLARE_DATA extern unixd_config_rec ap_unixd_config;
snprintf(tmp, sizeof(tmp), "%s(%d)/%d", unixd_config.user_name, unixd_config.user_id, unixd_config.group_id)
-> snprintf(tmp, sizeof(tmp), "%s(%d)/%d", ap_unixd_config.user_name,ap_unixd_config.user_id, ap_unixd_config.group_id)
이렇게 수정 후 재시작이 잘되었다.
이유는 검색해본 결과 아파치가 버전업이 되면서 해당 심볼의 명칭을 바꿔서 그렇단다.
더 찾아봐야 할듯 하다
'PHP' 카테고리의 다른 글
php 7버전 설치 패키지 (0) | 2019.04.12 |
---|---|
imap 소스 설치 (0) | 2016.10.04 |
php 5.2.17 make error시 (0) | 2016.09.07 |
php sockets 모듈 설치 (0) | 2016.08.30 |
php memory 설정 (0) | 2016.08.30 |