本教程适用于以下操作系统版本

  • Debian 11(Bullseye)
  • Debian 9(Stretch)
  • Debian 7(Wheezy)

本页内容

  • 环境要求
  • 开始之前
  • 安装 IonCube Loader(Apache mod_php、PHP-FPM、PHP CGI、PHP CLI 命令行 PHP)
  • 测试 IonCube Loader
  • Apache mod_php
  • PHP-FPM
  • PHP CGI
  • PHP CLI(命令行 PHP)

IonCube 是一个 PHP 扩展,能够在运行时解码经过加密保护的 PHP 文件。商业 PHP 程序供应商使用 IonCube 编码器来保护应用程序,而在本教程中安装的 loader 是在你的服务器上运行 IonCube 加密文件所必需的。IoncubeLoader 可免费使用。IonCube loader 通过将你的 PHP 转换为字节码,能够提高网站的加载速度,并防止他人窃取源代码。

在本教程中,我们将介绍如何在 Debian 11 上安装 IonCube Loader。

环境要求

  • 一台运行 Debian 11 且已安装 PHP 的服务器(例如已搭建 LAMP 或 LEMP 环境)。
  • 一个拥有 sudo 权限的非 root 用户。

开始之前

在开始之前,请使用以下命令更新服务器上已安装的所有软件包:

sudo apt update -y
sudo apt upgrade -y

安装 IonCube Loader

首先,你需要从官方网站下载最新版本的 IonCube Loader。可以使用以下命令将 IonCube loader 下载到系统的 /tmp 目录:

cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

在Debian 11系统上安装并配置ionCube Loader加密扩展教程

下载完成后,使用以下命令解压下载的文件:

tar -xvzf ioncube_loaders_lin_x86-64.tar.gz

默认情况下,文件会被解压到一个名为 ioncube 的文件夹中。

现在,切换到 ioncube 文件夹并运行 ls 命令查看所有扩展:

cd ioncube
ls

你应当能看到对应不同 PHP 版本的各种 ioncube loader 文件,如下所示:

在Debian 11系统上安装并配置ionCube Loader加密扩展教程

ioncube_loader_lin_4.1.so     ioncube_loader_lin_5.2.so     ioncube_loader_lin_7.0.so     ioncube_loader_lin_8.1.so
ioncube_loader_lin_4.2.so     ioncube_loader_lin_5.2_ts.so  ioncube_loader_lin_7.0_ts.so  ioncube_loader_lin_8.1_ts.so
ioncube_loader_lin_4.3.so     ioncube_loader_lin_5.3.so     ioncube_loader_lin_7.1.so     LICENSE.txt
ioncube_loader_lin_4.3_ts.so  ioncube_loader_lin_5.3_ts.so  ioncube_loader_lin_7.1_ts.so  loader-wizard.php
ioncube_loader_lin_4.4.so     ioncube_loader_lin_5.4.so     ioncube_loader_lin_7.2.so     README.txt
ioncube_loader_lin_4.4_ts.so  ioncube_loader_lin_5.4_ts.so  ioncube_loader_lin_7.2_ts.so  USER-GUIDE.pdf
ioncube_loader_lin_5.0.so     ioncube_loader_lin_5.5.so     ioncube_loader_lin_7.3.so     USER-GUIDE.txt
ioncube_loader_lin_5.0_ts.so  ioncube_loader_lin_5.5_ts.so  ioncube_loader_lin_7.3_ts.so
ioncube_loader_lin_5.1.so     ioncube_loader_lin_5.6.so     ioncube_loader_lin_7.4.so
ioncube_loader_lin_5.1_ts.so  ioncube_loader_lin_5.6_ts.so  ioncube_loader_lin_7.4_ts.so 

现在,你需要根据服务器上安装的 PHP 版本,选择正确的 ioncube loader 文件。运行以下命令查看服务器上安装的 PHP 版本:

php -v

输出:

在Debian 11系统上安装并配置ionCube Loader加密扩展教程

PHP 7.4.33 (cli) (built: Nov  8 2022 11:36:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies 

在上述输出中,你可以看到已安装的 PHP 版本为 PHP 7.4.33。因此,你需要将 ioncube_loader_lin_7.4.so 文件从 ioncube 目录复制到 PHP 扩展目录。

首先,使用以下命令查找 PHP 扩展目录的位置:

php -i | grep extension_dir

你应当看到如下输出:

extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902 

现在,使用以下命令将 ioncube loader 文件复制到 PHP 扩展目录(/usr/lib/php/20151012):

cd ioncube
cp ioncube_loader_lin_7.4.so /usr/lib/php/20190902/

接下来,你需要编辑 php.ini 文件并添加 ioncube 扩展的路径。需要编辑的文件取决于你在系统中使用 PHP 的方式,最常见的方式有 mod_php、PHP-FPM、PHP CGI 和 PHP CLI(命令行 PHP),下面我将逐一介绍。如果某个文件不存在,说明你没有使用该特定的 PHP 变体,可以直接跳到下一个。

Apache mod_php

可以使用以下命令完成:

sudo nano /etc/php/7.4/apache2/php.ini

在 php.ini 文件的末尾添加以下一行:

zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so

保存文件。

然后重启 Apache 服务以使更改生效:

sudo systemctl restart apache2

PHP-FPM

可以使用以下命令完成:

sudo nano /etc/php/7.4/fpm/php.ini

在 php.ini 文件的末尾添加以下一行:

zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so

保存文件。

然后重启 PHP-FPM 服务以使更改生效:

sudo systemctl restart php7.4-fpm

PHP CGI

可以使用以下命令完成:

sudo nano /etc/php/7.4/cgi/php.ini

在 php.ini 文件的末尾添加以下一行:

zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so

保存文件。

然后重启 Apache 服务以使更改生效:

sudo systemctl restart apache2

PHP CLI(命令行 PHP)

可以使用以下命令完成:

sudo nano /etc/php/7.4/cli/php.ini

在 php.ini 文件的末尾添加以下一行:

zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.4.so

保存文件。

这种情况下无需重启任何服务。

测试 IonCube Loader

现在,所有配置均已正确完成。是时候测试 IonCube loader 是否已安装。可以使用以下命令进行测试:

php -v

如果一切正常,你应当看到如下输出:

PHP 7.4.33 (cli) (built: Nov  8 2022 11:36:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v12.0.5, Copyright (c) 2002-2022, by ionCube Ltd.
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

如命令输出中的 "with the ionCube PHP Loader + ionCube24 v12.0.5" 所示,我们已成功添加 IoncubeLoader。