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
相关文章
相关标签/搜索