운영체제의 EOS로 업그레이드를 진행하는 경우 서버를 교체하며 EOS  프로그래밍 언어까지 업그레이드 하면 좋지만

여러가지 이유로 프로그래밍 언어는 유지하고 OS와 어플리케이션 버전만 업그레드 하는 경우가 있다

 

이번 경우도 운영체제를 업그레이드하며  apache 버전은 2.2 -> 2.4로 업그레이드 진행했지만 php 버전은 5.2 버전을 유지해야 하는 상황에 발생한 오류 처리 내용이다.

오류 내용
httpd: Syntax error on line 168 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: unixd_config

 

조치 방법
apache 2.4로 버전업하면서 unixd_config 심볼이 ap_unixd_config 변경되어 발생하는 문제로 
php 소스 컴파일전 해당 내용을 수정하고 컴파일을 해야한다.

unixd_config -> ap_unixd_config  수정

vi /usr/local/srcphp-5.2.17/sapi/apache2handler/php_functions.c

>line 386

#if !defined(WIN32) && !defined(WINNT) && !defined(NETWARE)

        AP_DECLARE_DATA extern unixd_config_rec ap_unixd_config;

#endif

 

>line 417

#if !defined(WIN32) && !defined(WINNT) && !defined(NETWARE)

        snprintf(tmp, sizeof(tmp), "%s(%d)/%d", ap_unixd_config.user_name, ap_unixd_config.user_id, ap_unixd_config.group_id);

        php_info_print_table_row(2, "User/Group", tmp);

#endif

+ Recent posts