IT/php

zend optimizer 설치 ZendOptimizer.so: cannot open shared object file

조원태 2015. 12. 30. 19:18
반응형

에러1 : 

Failed loading /usr/local/ZendOptimizer/data/php-5.3.x/ZendOptimizer.so:  /usr/local/ZendOptimizer/data/php-5.3.x/ZendOptimizer.so: cannot open shared object file: No such file or directory


Zend Optimizer를 설치하는 위와 같은 에러 발생시


1. php 버전 php 5.3.3


쉘상태에서 php -v 입력

PHP 5.3.3 (cli) (built: Jul  9 2015 17:39:00)

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies


위와 같이 나옵니다.

zend optimizer는 php 버전에 맞는 것을 연동해야 합니다. 저는 php 5.3.x이므로 이 버전에 맞는 것을 설치



다운로드 

linux 32비트용 

http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

 

linux 64비트용 

http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz



보통은 아래와 같이 하면 zend Optimizer가 설치 되지만 설치가 안되고 에러1과 같은 오류가 나올 수 있습니다.


# cd /usr/local/src/

# wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

# cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/

# cp ZendGuardLoader.so /usr/lib64

 

 

# vi /usr/local/php/php.ini

-------------------------------------------------------------------------------------------------

[Zend_Guard_Loader]
zend_extension=/usr/lib64/ZendGuardLoader.so
zend_loader.enable=1 

-------------------------------------------------------------------------------------------------

 

# /usr/local/apache/bin/apachectl restart

 

# /usr/local/php/bin/php -v


PHP 5.3.10 (cli) (built: Apr  4 2012 15:02:50) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
        with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

빨강색 부분이 나오면 정상적으로 설치 된것입니다.

하지만 위 와 같이 설치가 안될 경우는


아래 와 같이 하면 간단하게 설치가 됩니다.




#!/bin/bash

if [ -f /usr/lib64/ZendGuardLoader.so ]; then 
mv /usr/local/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so /usr/lib64/ZendGuardLoader.so
fi
cat << EOF > /etc/php.d/zendguard.ini
zend_extension=/usr/lib64/php/modules/ZendGuardLoader.so
; Enables loading encoded scripts. The default value is On
zend_loader.enable=1
; Disable license checks (for performance reasons)
zend_loader.disable_licensing=0
; The Obfuscation level supported by Zend Guard Loader. The levels are detailed in the official Zend Guard Documentation. 0 - no obfuscation is enabled
zend_loader.obfuscation_level_support=3
; Path to where licensed Zend products should look for the product license. For more information on how to create a license file, see the Zend Guard User Guide
;zend_loader.license_path=

EOF


위와 같이 쉘프로그램을 만들 후 실행하시면 됩니다. 

위와 같이 프로그램 만들어도 되고요. 그냥 손으로 해도 되요. 


# php -v​  

PHP 5.3.10 (cli) (built: Apr  4 2012 15:02:50) 

Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

        with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies


zend Optimizer가 설치 된것을 확인 할 수 있습니다. 

그리고 zend Optimizer는 인스톨하는 것이 아니고 그냥 서버에 복사 하면 됩니다. 

동적라이브러리를 불러 오는 것이여서 아파치나 php 같이 인스톨하는 과정은 없습니다.

반응형