ionCube加载器,返回空屏幕


ionCube Loader, returning empty screen

我正试图从DigitalOcean在我的VPS上安装ionCube,我已经运行了安装并选择了适当的选项,但它只是返回了一个带有ionCube标题的屏幕,然后它有一条横幅,上面写着"重要事项:确保不再需要时删除此脚本",然后写着"ionCube加载器向导"没有什么此外,它使用ionCube的应用程序表示它仍然没有安装。

空的向导页面可能表明一些PHP函数被禁用,尽管如果没有phpinfo();的输出,我只能猜测。

DigitalOcean自己也有关于如何安装Loader的说明,可以在这里找到。这些适用于大多数略有改动的VPS。在链接不可用的情况下进行粗略总结:

  1. 在您的服务器上获取并打开最新的Loader:(如果您不在DigitalOcean上,请在此处选择您自己的Loader)

    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
    
  2. 查找您的扩展目录:

    php -i | grep extension_dir
    

    这将产生类似的东西

     extension_dir => /usr/lib/php5/20090626+lfs => /usr/lib/php5/20090626+lfs
    
  3. 将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/
    
  4. 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"
    
  5. 重新启动您的Web服务器:

    service apache2 restart
    service php5-fpm restart
    

请记住从服务器中删除您安装的ionCube Loader脚本,因为如果将其留在服务器上,可能会带来安全风险。

如果出现问题,请检查phpinfo();的输出,验证是否安装了正确的Loader(注意线程安全、体系结构和PHP版本),然后从这里手动获取Loader,再次确保选择正确的Loaders。

如果它仍然不起作用,请检查error.log(通常在/var/log/apache2/error.log/var/log/httpd/error_log中)以查看Loader是否正在被拾取。如果出现任何问题,也可以使用ionCube支持。