PHP 5.4.31 + Zend Guard 配置问题
Posted
技术标签:
【中文标题】PHP 5.4.31 + Zend Guard 配置问题【英文标题】:PHP 5.4.31 + Zend Guard configuration issue 【发布时间】:2014-10-27 04:34:31 【问题描述】:我在 Amazon Web Services 配置一个 Ubuntu 14.04 网络服务器。我安装了最新的 php5.5 作为基础,但我使用的是PHP Farm,以便我可以将 PHP5.4.31 用于需要 Zend Guard 的特定项目,该项目仅与最高 5.4.x 的 PHP 兼容。我将这些行添加到我的自定义 php.ini
zend_extension=/usr/local/php/ioncube_loader_lin_5.4.so
zend_extension=/usr/local/php/ZendGuardLoader.so
所以,一切正常,但是当我编译 PHP 自定义构建时,我最终得到了这个:
Cannot load the ionCube PHP Loader - it was built with configuration API220100525,NTS, whereas running engine is API220100525,NTS,debug
Cannot load Zend Guard Loader - it was built with configuration API220100525,NTS, whereas running engine is API220100525,NTS,debug
现在可以看出,构建是相同的,唯一的区别是:
API220100525,NTS vs. API220100525,NTS,debug
据我了解,PHP Zend Engine 正在调试模式下运行,但我似乎找不到如何禁用调试模式以便激活扩展。
有什么想法吗?
【问题讨论】:
可能无法禁用调试。调试编译添加了一整套“脚手架”代码。你必须找到一个非调试编译。 我是通过PHPFarm自动下载的,有配置选项可以选择哪种类型吗? 【参考方案1】:我只是偶然发现了同样的错误。 感谢 Marc B 的提示,我查看了 PHPFarm 的 compile.sh
定义了一个标准选项:
--enable-debug
只需删除这一行,删除你编译的php东西
/path/to/phpfarm/src/php-5.x
并用
重新编译./compile.sh 5.x
之后你应该有一个可以与 ZendGuardLoader 一起工作的非调试版本
【讨论】:
我最终编译了 5.4.30,但我认为我已经删除了 --with-debug 标志,但我没有删除以前的安装,所以它没有用新设置刷新.以上是关于PHP 5.4.31 + Zend Guard 配置问题的主要内容,如果未能解决你的问题,请参考以下文章
Linux(centos7)如何安装Zend Optimizer Zend Guard Loader
如何在 docker php 官方镜像实例中添加 Zend Guard Loader 支持?