Linux安裝Zend Guard 和 ioncube

若是你想讓你的PHP環境同時支持ioncube和Zend Guard,這個很是容易實現,本文主要講解如何在Linux服務器上安裝Zend Guard Loader和ionCube Loader。 php

本文測試的環境是是PHP5.3 和 64位的Linux CentOS系統,你能夠根據實際的環境進行參考本文,因爲PHP5.3之後放棄Zend Optimizer,能夠查看Linux ZendOptimizer 3.3.9 安裝方法linux

經過本文的教程,你能夠實現以下的結果。 安全

php install zendguard ioncube

phpinfo() 頭部顯示ionCube PHP Loader和Zend Guard Loader,代表安裝成功。 服務器

phpinfo ionCube

phpinfo() 安裝ionCube成功,會顯示ionCube Loader 模塊。 app

phpinfo zendGuard

phpinfo() 安裝Zend Guard成功,會顯示Zend Guard Loader 模塊。 測試

PHP安裝Zend Guard Loader

請經過如下命令進行安裝: 網站

[root@localhost Zend]# wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
[root@localhost Zend]# tar -zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
[root@localhost ioncube]# vi /etc/php.ini
[Zend Guard Loader] ui

zend_extension=/usr/local/lib/Zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3 加密

注意:若是你的Linux服務器是32位的,使用後面的命令進行下載 ZendGuardLoader。 url

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

若是是PHP其餘版本,能夠到 http://www.zend.com/en/products/guard/downloads?platform=Linux 選擇對應的文件。

PHP安裝ioncube Loader

[root@localhost ioncube]# http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
[root@localhost ioncube]# tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

[Ioncube Loader]
zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.3.so

若是是PHP其餘版本或者32位的Linux服務器,能夠到 http://www.ioncube.com/loaders.php 選擇對應的文件。

解決 PHP 環境未加載ionCube Loader

若是經過phpinfo() 並無加載ionCube Loader,能夠經過如下命令測試:

[root@localhost ioncube]# php -v
PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0

解決方法是把ZendGuardLoader.so和ioncube_loader_lin_5.3.so放在php.ini的頂部。

[PHP]

zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.3.so
zend_extension=/usr/local/lib/Zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3

解決 PHP Run-time support missing(未加載ZendGuard Loader)

這個錯誤很是奇怪,經過php -v能夠獲取到ZendGuard Loader,可是phpinfo()卻加載不上。

[root@localhost ~]# php -v
PHP 5.3.3 (cli) (built: Jan 11 2012 19:53:01)

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with the ionCube PHP Loader v4.4.3, Copyright (c) 2002-2013, by ionCube Ltd., and with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

注意這個錯誤,PHP並不會直接報錯,而是要經過Apache或者Nginx的 error_log文件獲取錯誤信息。若是你的phpinfo() 未加載ZendGuard Loader,可能在/var/log/httpd/error_log文件中能夠看到這一行錯誤:

[Mon Oct 07 08:58:52 2013] [notice] caught SIGTERM, shutting down
Failed loading /usr/local/lib/Zend/ZendGuardLoader.so: /usr/local/lib/Zend/ZendGuardLoader.so: cannot enable executable stack as shared object requires: Permission denied

這個錯誤的緣由是由於安全問題,Linux的SELinux處於開啓狀態,將其關閉便可解決問題。

[root@localhost~]# echo 0 >/selinux/enforce
[root@localhost~]# service httpd restart

若是你對本文的方法有什麼看法,請必定在評論中留言。

另外,本人提供ionCube的加密服務,能夠查看IonCube加密PHP程序

本文的安裝方法主要參考瞭如下的2篇技術文章:


查看更多: Linux安裝Zend Guard和ioncube | LixiPHP - 專一於建設高品質網站! http://blog.lixiphp.com/linux-install-zendguard-ioncube/#ixzz2jjnNJ37l
相關文章
相關標籤/搜索