qingliangcn2009-09-11 20:24
你好:
非常感谢你能抽空阅读本邮件。 我的问题是这样的:
我们的项目中使用了AMFPHP作为前端flex和后端PHP通讯的桥梁(呵呵,做webgame的)。AMFPHP提供了一个扩展叫做amfext用于提升AMFPHP编码和解码数据的效率,在windows下没有问题:
windows环境: windows xp sp3, AMD 64 双核, Apache 2.0.63 PHP 5.2.4, Mysql 5.0.37, AMFPHP 1.9b, AMFEXT 0.92 dev (http://pecl.php.net/amfext) 。
服务器环境:Centos 4.6 内核2.6.9, Intel 64 位机, PHP 5.2.8 Mysql 5.0.37 , AMFPHP 1.9b, AMFEXT 0.92 dev , 编译之后无法正常使用 , 使用nginx作为前端则表现为502错误,使用apache则表现为Segmentation fault (11) 错误。
amfext提供了两个函数amf_encode、amf_decode,分别用于编码和解码。通过跟踪代码,发现:这两个函数能够正确编码和解码,也就是说从功能上来说是没有问题的。 一旦输入返回的结果,则出现上面描述的错误。 根据我的浅见,我觉得应该是内存问题。
现在的问题是我对C是入门而已,对于如何去定位这样的内存问题毫无办法和经验可言。 我通过gdb跟踪了整个运行过程,结果是对PHP的运行过程了解了更多一点,但对于解决问题于事无补。所以想请教一下,希望能够得到你的帮助和指点。不胜感激,谢谢!
--
我的联系方式 qing.liang.cn@gmail.com