본문 바로가기

os/리눅스

Zend Optimizer 설치 , 설치 오류

php를 설치하면 당연히 설치해 주는게 Zend라고 한다.

php의 성능이 40% 정도 빨라진다고 하는데...어떻게?

Zend Optimizer는 표준 Zend 런타임 컴파일러에 의해 생성되는 중간 코드를 조사하고, 더 

빠른 실행으로 코드를 최적화 한다고 한다. 

뭐..빨라진다는데..설치해볼까?

난 TEXT모드라.. wget으로~


압축을 풀어주고

#  tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz 

생성된 폴더로 들어가서 인스톨을 꾹~ 눌러주는거다~

# cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install

설치 화면이 뜨는데...무조건 엔터만 쳐주면 된다.

처음엔 라이센스와 약간의 설명서, 중간에 php.ini 의 경로나 아파치의 경로를 물어보는데 installer 가 벌써 다 잡아놔서 엔터만 쳐주면 된다.


설치끝! 간단하네~ 확인해 볼까? 열어놓은 http로 들어가 보면 된다.

썅..-_-설치가 제대로 않된것이다!!

머가 문제인겨..

아파치 로그를 확인하기
- 아파치 로그가 있는 폴더 루트의 경로는 /var/log/httpd 경로이다.
error_log 파일을 열어보자. (해당 루트로 이동후 cat error_log 또는 vim error_log)

로그 메세지에 아래와 같은 내용이 있다면,

Failed loading /usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so:  /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied

아래와 같은 명령어를 커널로 입력한다.

# chcon -t texrel_shlib_t /usr/local/Zend/lib/ZendExtensionManager.so
# chcon -t texrel_shlib_t /usr/local/Zend/lib/ZendExtensionManager_TS.so
# chcon -t texrel_shlib_t /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimize

아파치 서버를 재 시작 -> phpinfo()확인
- service httpd restart
- 썅...그래도 안되네..

아파치 에러로그를 다시 확인
- 에러로그가 아래와 같다면
Failed loading /usr/local/Zend/lib/ZendExtensionManager.so:  /usr/local/Zend/lib/ZendExtensionManager.so: cannot enable executable stack as shared object requires: Permission denied

- selinux의 config 파일을 열어 SELINUX 값을 disabled로 바꿔준다. 
vi  /etc/selinux/config 

SELINUX=disabled

- reboot 후 phpinfo()를 열어 확인해보면~


Zend Optimizer 부분이 나온다면~ 설치 성공~ -_- 근데 방화벽을 않쓴다고 선언했는데..

괜찬은건가?