AMFPHP1.9 & PHP 5.2.2 bug已经解决。

最近烦心的事情还真是多,当属最大的就是amfphp1.9与php5.2.2不兼容的问题,我曾经静下心来寻找amfphp中的bug,结果还是没有找到,一开始只是怀疑HTTP_RAW_POST_DATA这个变量,修改php.ini后仍旧没有解决解决问题,只好乖乖地用回php 5.2.1但是php5.2.1的GD库存在一个很大的bug不能处理尺寸过大的图片。

今天一早上 5 1/2 blog (amfphp开发者:patrick)看到他已经对这个bug作出回应,并且给出了解决方案。原来正是我怀疑的东西,HTTP_RAW_POST_DATA 在PHP中不再支持(被列为过时)需要使用file_get_contents('php://input')来替代,所以曾经amfphp获取Flash数据时失败(因为amfphp中是利用这种方法来获取传入的数据的)。必须要添加下面代码:

if(!isset($GLOBALS['HTTP_RAW_POST_DATA'])){

$GLOBALS['HTTP_RAW_POST_DATA']=file_get_contents('php://input');

}

(该代码添加到core/amf/app/Gateway.php 140行以前的地方就可以了)

PS:最近amfphp也是受尽折磨,连自己域名都被别人抢注了,想想真是气愤,连开源组织的域名也抢,真是没有良心。加上patrick就要退休了,以后amfphp的发展让人关心,毕竟 amfphp是开源上走在最前面的AMF!

loading...