最近在升级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端解码。
时间: 2024-10-06 05:01:54