【问题标题】:upgrade module from php 4.x to 5.x?将模块从 php 4.x 升级到 5.x?
【发布时间】:2010-10-09 17:06:36
【问题描述】:

我们(最终)从 4.x 升级到 php 5.x。问题是我们使用的第三方模块之一无法加载。
可见:

PHP 警告:PHP 启动:无法加载动态库 '/somewhere/ext/myapp.so' - /somewhere/ext/myapp.so:未定义符号:compiler_globals

很遗憾,我们没有应用程序的源代码,因此无法重新编译它。有没有办法让它在 php 5.x 上运行,还是我们永远停留在 4.x 的土地上?

谢谢, dar7yl

【问题讨论】:

    标签: php module


    【解决方案1】:

    我怀疑。您唯一能做的就是让 php 5 和 php 4 并行运行。然后,php 5 脚本需要调用 php 4 脚本才能使用该模块中的函数。但这真的是非常丑陋的黑客攻击。

    【讨论】:

      【解决方案2】:

      如果您告诉我们模块是什么,我们可能会提供更好的建议。

      我唯一能想到的就是要么重写它,要么运行一个 php4 实例来运行这个模块。让 php4 和 php5 在具有不同文件扩展名的同一主机上运行似乎相当容易,但是我不知道从一个到另一个使用模块的效果如何。

      【讨论】:

      • 该模块对本次讨论无关紧要。我的困惑是他们改变了 4.x 和 5.x 之间的模块接口。难道没有一座可以让向上流动的桥梁吗?我知道我们可以同时运行 4.x 和 5.x。但是我们想使用 5.x 的功能,那么如何拆分功能呢?
      【解决方案3】:

      您可以在同一台服务器上运行 php5 和 php4。

      Running Apache2 With PHP5 And PHP4 At The Same Time

      当您弄清楚如何让模块与 php5 一起工作时,这可能是您的解决方案。

      【讨论】:

      • 感谢您的回复。我们已经(几乎)通过重新编译的模块解决了这个问题。不需要同时运行php4&php5。
      【解决方案4】:

      不幸的是,如果不自己侵入 PHP,您将无法在没有源代码的情况下使模块工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 1970-01-01
        • 2022-09-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多