我们有一个第三方软件包,需要使用 PHPdl()
函数来加载二进制扩展。该函数已从 PHP 5.3 开始弃用并删除,因此我们正在寻找一种方法来使其正常工作 - 可能通过降级到 PHP 5.2。
我似乎在尝试将 PHP 5.3 安装降级到 5.2 时遇到了很大困难。我尝试使用 yum 降级工具,但失败了。
是否有人知道如何做到这一点而不涉及从源代码进行编译,因为我不太急于尝试手动满足大量的依赖关系?
或者,是否有其他方法可以让我们使这个第三方包在不需要的情况下工作dl()
?
答案1
降级到不受支持的 PHP 版本很可能(这并不奇怪)不支持。
从源代码编译或找到已打包 RPM 的人几乎是你仅有的两个选择。
重要安全说明
你可能不需要使用dl()
。
你应该绝不需要使用dl()
。
尽管你可能已经被告知,确实存在替代方法dl()
。
您应该使用php.ini
指令extension
代替dl()
。
如果您的第三方软件编写得太差,以致您无法安全地加载扩展(使用php.ini
指令extension
),那么您需要与您的供应商进行认真的交谈 - 他们要求您将整个系统暴露在过度风险中,通过使用dl()
和强迫您运行不受支持的 PHP 版本以使用他们的产品。