我正在尝试从DigitalOcean在我的VPS上安装ionCube,我已经运行了安装并选择了相应的选项,但它只是返回一个带有ionCube标题的屏幕,但它有一个横幅说"重要:确保在不再需要时删除此脚本"接下来是一行写着" ionCube Loader Wizard"什么都不做此外,使用ionCube的应用程序仍然没有安装它。
答案 0 :(得分:1)
空的向导页面可能表示禁用了一些PHP函数,但没有phpinfo();
的输出我只能猜测。
DigitalOcean自己有关于如何安装Loader的说明,可以找到here。这些适用于大多数VPS,略有改动。如果链接不可用,请进行粗略总结:
获取并解压服务器上最新的Loader :(如果您不在DigitalOcean上,请选择您自己的Loaders 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复制到extensions目录:
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
(在本例中为{ {1}}使用此内容:
/etc/php.d/00-ioncube
以PHP 5.5和上一个路径为例:
zend_extension = "<path to your ioncube loader>"
重新启动您的网络服务器:
zend_extension = "/usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.4.so"
请记住删除从服务器安装的ionCube Loader脚本,因为如果将放在服务器上,可能会带来安全风险。
如果出现问题,请检查输出service apache2 restart
service php5-fpm restart
,确认您安装了正确的Loaders(注意线程安全,体系结构和PHP版本)并从here手动获取加载程序,并再次确保选择正确的。
如果仍然无效,请检查您的error.log(通常位于phpinfo();
或/var/log/apache2/error.log
)以查看是否正在接收Loader。如果出现任何问题,ionCube Support也可用。