Ioncube加载程序是一个PHP模块,用于加载使用Ioncube Encoder软件保护的文件。 Ioncube经常被商业PHP软件供应商用来保护他们的软件,所以在安装CMS或Shop软件的PHP软件的扩展时,您可能会迟早遇到Ioncube编码的文件。 在本教程中,我将为CentOS,Debian和Ubuntu详细介绍Ioncube加载程序模块的安装。
1先决条件
您的服务器必须安装PHP编程语言。 我将使用命令行Editor Nano和命令行下载应用程序wget。 Nano和Wget安装在大多数服务器上,以防您的服务器丢失,然后使用apt / yum安装它们:
CentOS
yum install nano wget
Debian和Ubuntu
apt-get install nano wget
2下载Ioncube Loader
Ioncube加载器文件可以免费从Ioncube Inc.下载。它们适用于32位和64位Linux系统。
在第一步,我将检查服务器是否是32位或64位系统。 跑:
uname -a
输出将类似于:
当文本包含“x86_64”时,服务器运行64位Linux Kerbel,否则它是一个32位(i386)内核。 大多数当前的Linux服务器运行64位内核。
将tar.gz格式的Loader下载到/ tmp文件夹并解压缩:
对于64位x86_64 Linux:
cd /tmp
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin_x86-64.tar.gz
对于32Bit i386 Linux:
cd /tmp
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfz ioncube_loaders_lin_x86.tar.gz
这些文件被解压缩到名称为“ioncube”的文件夹中。
3哪个Ioncube装载机是正确的?
当您运行“ls / tmp / ioncube”时,您会看到ioncube目录中有很多加载程序文件。
这些文件的数字与它们所制作的PHP版本相对应,并且每个加载程序还有一个“_ts”(线程安全)版本。 我们将在这里使用没有线程安全的版本。
要了解安装的php版本,请运行命令:
php -v
输出将类似于:
对于这个任务,第一个结果行中版本号的前两位数字很重要,在这个服务器上我将运行PHP 5.6。 我们注意到这个数字,因为我们需要它的下一步。
现在是时候找出这个PHP版本的扩展目录的位置,运行以下命令来查找目录名称:
php -i | grep extension_dir
输出应该与此屏幕截图相似:
我在屏幕截图中标记了路径,此服务器上的扩展目录为“/ usr / lib / php5 / 20131226”。 目录名称对于每个PHP版本和Linux发行版将不同,使用您从命令获得的目录名称,而不是我在这里获得的目录名称。
没有将我们的PHP版本5.6的ioncube加载程序复制到扩展目录/ usr / lib / php5 / 20131226:
cp /tmp/ioncube/ioncube_loader_lin_5.6.so /usr/lib/php5/20131226/
用您的PHP版本替换“5.6”,将“ / usr / lib / php5 / 20131226”替换为PHP版本的扩展目录。
4为Ioncube Loader配置PHP
下一个配置步骤对于Centos和Debian / Ubuntu有所不同。 我们必须添加一行:
zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so
作为系统的php.ini文件的第一行。 再次,上面的路径包含扩展目录“/ usr / lib / php5 / 20131226”和PHP版本“5.6”,确保替换它们以匹配您的系统设置。 我将从CentOS的说明开始。
3.1在CentOS上配置Ioncube加载程序
Centos只有一个中央phhp.ini文件,我们必须添加ioncube加载器。 用编辑器打开文件/etc/php.ini:
nano /etc/php.ini
并添加“zend_extension =”加上离子立方体加载程序的路径作为文件的第一行。
zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so
然后保存文件并重新启动apache web服务器:
service httpd restart
service php-fpm restart
3.1在Debian和Ubuntu上配置Ioncube加载程序
Debian和Ubuntu对PHP CLI(Commandline),CGI,Apache2和FPM模式使用单独的php.ini文件。 文件路径为:
- /etc/php5/apache2/php.ini
- /etc/php5/cli/php.ini
- /etc/php5/cgi/php.ini
- /etc/php5/fpm/php.ini
必须编辑一个文件才能使ioncube加载器进入相应的PHP模式。 您可以免费使用不使用的PHP模式的文件或不需要ioncube加载程序支持的文件。 也可能您的服务器上没有所有文件,所以不要担心,找不到其中一个文件。
Apache mod_php
nano /etc/php5/apache2/php.ini
命令行PHP(CLI)
nano /etc/php5/cli/php.ini
PHP CGI(用于CGI和Fast_CGI模式)
nano /etc/php5/cgi/php.ini
PHP FPM
nano /etc/php5/fpm/php.ini
并添加“zend_extension =”加上离子立方体加载程序的路径作为文件的第一行。
zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so
然后保存文件并重新启动apache webserver和php-fpm:
service apache2 restart
service php5-fpm restart
5测试离子立方体
我们检查ioncube装载机是否已经成功安装。 首先我将测试命令行PHP。 跑:
php -v
我以白色标记线,显示ioncube加载程序已启用:
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.17, Copyright (c) 2002-2015, by ionCube Ltd.
如果你想测试一个网站的PHP,创建一个“这个内容的info.php文件:
<?php
phpinfo();
?>
并在网络浏览器中打开URL。 您可以在phpinfo()输出中看到ioncube: