2009-02-25 151 views
1

我们已经(最终)从4.x升级到php 5.x。问题是我们使用的其中一个第三方模块没有加载。
可见:从php 4.x升级到5.x?

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

不幸的是,我们没有应用程序的源代码,所以无法重新编译它。有没有办法让它伪装成在PHP 5.x上运行,还是我们永远陷入4.x的土地?

感谢名单, dar7yl

回答

1

我怀疑如此。你唯一能做的就是让php 5和php 4并行运行。然后,PHP 5脚本需要调用PHP 4脚本来使用该模块的功能。但它会非常非常丑陋。

0

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

我唯一能想到的就是重写它或者运行一个php4实例来运行这个模块。这似乎是相当容易让php4和php5运行在不同文件扩展名的同一台主机上,但我不知道如何使用模块从一个到另一个都能正常工作。

+0

该模块对此讨论无关紧要。我的困惑是他们改变了4.x和5.x之间的模块接口。有没有一座桥可以让人向上流动? 我知道我们可以同时运行4.x和5.x。但是我们想要使用5.x功能,那么如何分割功能呢? – dar7yl 2009-03-07 19:44:42

0

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

Running Apache2 With PHP5 And PHP4 At The Same Time

当你弄清楚如何获得模块PHP5工作这可能是你的解决方案。

+0

感谢您的回复。我们已经(几乎)用重新编译的模块解决了这个问题。不需要同时运行php4和php5。 – dar7yl 2009-04-09 20:59:45

0

不幸的是,如果没有源代码,你将无法使模块工作,而无需自己对PHP进行入侵。