【发布时间】:2015-04-21 14:13:53
【问题描述】:
我正在尝试从 DigitalOcean 在我的 VPS 上安装 ionCube,我已经运行了安装并选择了适当的选项,但它只是返回一个带有 ionCube 标题的屏幕,但随后它有一个横幅,上面写着“重要提示:确保这不再需要时删除脚本”,然后是一行文字,上面写着“ionCube Loader Wizard”并且什么都不做。此外,它使用 ionCube 的应用程序说它仍未安装。
【问题讨论】:
我正在尝试从 DigitalOcean 在我的 VPS 上安装 ionCube,我已经运行了安装并选择了适当的选项,但它只是返回一个带有 ionCube 标题的屏幕,但随后它有一个横幅,上面写着“重要提示:确保这不再需要时删除脚本”,然后是一行文字,上面写着“ionCube Loader Wizard”并且什么都不做。此外,它使用 ionCube 的应用程序说它仍未安装。
【问题讨论】:
空白的向导页面可能表明一些 PHP 函数被禁用,尽管没有你的 phpinfo(); 的输出,我只能猜测。
DigitalOcean 自己有关于如何安装 Loader 的说明,可以在 here 找到。这些适用于大多数 VPS,略有改动。链接不可用时的粗略总结:
在您的服务器上获取并解压最新的加载器:(如果您不在 DigitalOcean 上,请选择您自己的加载器here)
32 位:
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xvfz ioncube_loaders_lin_x86.tar.gz
64位:
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xvfz ioncube_loaders_lin_x86-64.tar.gz
找出你的扩展目录:
php -i | grep extension_dir
这会产生类似
的东西 extension_dir => /usr/lib/php5/20090626+lfs => /usr/lib/php5/20090626+lfs
将Loader复制到扩展目录:
PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;")
sudo cp "ioncube/ioncube_loader_lin_${PHP_VERSION}.so" /your/extensions/dir
以之前的输出为例:
PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;")
sudo cp "ioncube/ioncube_loader_lin_${PHP_VERSION}.so" /usr/lib/php5/20090626+lfs/
将zend_extension 条目添加到您的php.ini。这个步骤在 DigitalOcean 教程中没有描述,似乎他们的 PHP 设置为加载我假设的扩展目录中的任何扩展,所以这对你来说可能不是必需的。
找出你的 php.ini 文件在哪里(或者更好的是,插件目录):
php -i | grep "Loaded Config"
php -i | grep "Scan this dir"
你会得到这样的东西:
Loaded Configuration File => /etc/php.ini
Scan this dir for additional .ini files => /etc/php.d
您可以将此条目添加到 php.ini 的顶部(在本例中为 /etc/php.ini),或在您的 ini 目录中添加一个新文件 00-ioncube(在本例中为 /etc/php.d/00-ioncube,其中包含以下内容:
zend_extension = "<path to your ioncube loader>"
以 PHP 5.5 和之前的路径为例:
zend_extension = "/usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.4.so"
重启你的网络服务器:
service apache2 restart
service php5-fpm restart
请记住从服务器中删除您安装的 ionCube Loader Script,因为如果将其留在服务器上,可能会带来安全风险。
如果出现问题,请检查您的phpinfo(); 的输出,确认您安装了正确的加载器(注意线程安全、架构和 PHP 版本)并从here 手动获取加载器,然后再次制作一定要选对的。
如果仍然无法正常工作,请检查您的 error.log(通常在 /var/log/apache2/error.log 或 /var/log/httpd/error_log 中)以查看 Loader 是否正在被拾取。如果有任何问题,也可以使用ionCube Support。
【讨论】: