我正在使用 phpbrew 在不同版本的 php 之间切换。现在我无法将 ioncube 安装为 php 扩展。 我已经做了什么:
- 从http://www.ioncube.com/loaders.php下载我的扩展版本(Linux 64 tar.gz v6.0.9 2017-1-26)
- 全部解压并将ioncube_loader_lin_5.6.so放入
/home/kpot/.phpbrew/php/php-5.6.24-last/lib/php/extensions/debug-zts-20131226
- 在 php 中添加
extension=/home/kpot/.phpbrew/php/php-5.6.24-last/lib/php/extensions/debug-zts-20131226/ioncube_loader_lin_5.6.so
.ini - 使用
sudo service apache2 restart
重启服务器 - 当应用 php -v 得到这个
PHP Warning: PHP Startup: Unable to load dynamic library '/home/kpot/.phpbrew/php/php-5.6.24-last/lib/php/extensions/debug-zts-20131226/ioncube_loader_lin_5.6.so' -/home/kpot/.phpbrew/php/php-5.6.24-last/lib/php/extensions/debug-zts-20131226/ioncube_loader_lin_5 .6.so: undefined symbol: executor_globals in Unknown on line 0
在 phpinfo() 之后找不到任何与 ioncube 相关的内容
附加信息:
- uname -a
Linux KpoT 4.4.0-75-generic#96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- php -i | grep 扩展目录
extension_dir =>/home/kpot/.phpbrew/php/php-5.6.24-last/lib/php/extensions/debug-zts-20131226 =>/home/kpot/.phpbrew/php/php-5.6 .24-last/lib/php/extensions/debug-zts-20131226
- phpbrew - 1.21.6
最佳答案
首先。当您使用 ioncube 解压缩存档时,请注意末尾带有 _ts 的文件。在我的例子中,我的 php 启用了线程安全 (phpinfo()),因此您必须准确选择那些文件。 当使用 debug 编译 php 时会出现第二个问题。你必须在没有它的情况下重新编译你的 php。
关于php - 如何将 ioncube(或其他扩展)集成到 phpbrew php 版本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43679648/