PHP 5.2.11 Segmentation fault in FreeBSD

Development 의견 남기기

갑자기 php cli 를 실행시키니 다음과 같이 나온다.

[root ~ ] php -v
PHP 5.2.11 with Suhosin-Patch 0.9.7 (cli) (built: Dec 24 2009 17:44:55) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
Segmentation fault: 11 (core dumped)

잘 되던놈이 안되서 무엇이 문제일까 생각하다 php를 업그레이드했던것이 기억났다. apache 모듈안에서는 잘 동작하는데 cli 로 동작시키면 단순히 php -v 만으로도 segfaulting을 만들어버린다. php extension 의 문제로 보여 extensions.ini 에서 하나씩 주석처리해가며 확인해보니 pgsql.so 가 문제였다.

php, postgresql 에 조금이라도 의존성이 있는것들을 모두 재컴파일하였지만 마찬가지였고 한참 구글신의 도움도 받아봤지만 딱히 답이 안나와서 트위터 #freebsd 에 별기대없이 글을 날렸다. 그리곤 실마리를 찾았다.

php 에서 사용하는 libxml2가 버전업되며 문제가 발생한것으로 thread 에 관련된 문제였다.
해결방법은 /usr/ports/textproc/libxml2/files/patch-configure 에서 아래부분을 삭제한 후 다시 컴파일 하면 된다.

26
27
28
29
30
31
32
33
34
@@ -20665,6 +20666,8 @@
               fi
           fi
        ;;
+       *freebsd*) THREAD_LIBS=""
+       ;;
     esac
     if test "$WITH_THREADS" = "1" ; then
        THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"

의견을 남겨주세요

Trackback URL : http://blueruin.org/archives/198/trackback

WP Theme & Icons by N.Design Studio
Entries RSS Log in