우선 PHP 5.3 설치시에는 몇가지 조건이 발생한다
1. 아파치를 prefork 로 설치를 진행해야 한다
worker 방식으로 설치 진행하는 경우 최종 설치 진행후 Zend Guard Loader 설치 직 후
ZendGuardLoader.so: undefined symbol: compiler_globals
에러가 발생한다 그러기 위해서 꼭 아파치 설치시에
./configure \
–prefix=/usr/local/apache \
–enable-mods-shared=all \
–enable-module=shared \
–enable-rewrite \
–enable-ssl \
–with-ssl \
–with-mpm=prefork \
–with-included-apr
2. PHP 설치시에도 역시 config 옵션이 변경되어야 한다
기존 config에서 –enable-safe-mode 옵션을 제거 후 아래 2개의 옵션 추가 후 설치 진행
–disable-maintainer-zts \
–disable-safe-mode
3. php 5.3 버전이후부터는 Zend Optimizer 지원이 되지 않고 ZendGuardLoader 설치 진행한다
다운로드
ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
다운로드 압축을 해제하면 ZendGuardLoader.so 파일이 있다 / 이것을 적당한 경로에 파일을 복사하단
php.ini 에 내용 추가
[zend]
zend_extension=/usr/local/Zend/ZendGuardLoader.so
zend_loader.enable=1
4. 설치 직후 php -v 옵션을 확인해 보면 또 에러가 발생한다
PHP Deprecated: Directive ‘register_globals’ is deprecated in PHP 5.3
위와 같이 에러가 발생되는 경우 php.ini 에서 내용 수정
short_open_tag = On
date.timezone = “Asia/Seoul”
error_reporting = “E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED”
수정 후 php -v 확인하면 정상적으로 해결완료
[root@web2 ~]# php -v
PHP 5.3.21 (cli) (built: Feb 5 2013 15:23:07)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies