首页 > 代码库 > AMFPHP1.4与PHP5.3及以上版本不兼容问题的解决

AMFPHP1.4与PHP5.3及以上版本不兼容问题的解决

最近在升级PHP5.4版本,AMFPHP出现了兼容性问题,解决过程记录如下。


1、ereg类相关函数修改为preg相关函数。

2、通过错误日志输出的提示,将所有以静态方式调用的类函数添加static关键字。

3、修改PHP配置文件,给data.timezone添加默认时区。


尽量使错误输出到日志,一般是些不兼容性问题,如果错误日志没输出可以使用Charles Proxy类的软件来查看HTTP传输的内容。

NetConnection.Call.BadVersion问题的产生主要是传输到Client的字节码有问题,原因一般有两个:

1、产生了错误。这个可以在PHP日志查看或通过Charles工具,Chrome自带调试等来查看HTTP内容是否显示了错误信息。

2、有不明的输出。如果上面没问题,检查一下与AMFPHP相关的每个文件是否有输出,一个特别的例子是UTF-8编码文件带有BOM标识,这个不会产生错误,但是会影响AMFPHP CLient端解码。


AMFPHP1.4与PHP5.3及以上版本不兼容问题的解决