从Zend Server Community Edition 5.5升级到5.6后,当我尝试使用WSO2 Web Services Framework for PHP连接到Web服务时,PHP会遇到malloc错误。
wsf_php_client.log中的最后一行输出是
[debug] (...)/wso2/2.1.0/scripts/dynamic_invocation/wsf_wsdl_util.php(1329) [WSF/PHP] importing xsd: (...) from: (...)
并且PHP抛出的错误是
php(38384,0xa0ab0540) malloc: *** error for object 0x401bf61: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
内存地址0xa0ab0540似乎对每次尝试都是一致的。
有没有办法找出问题所在?它是在php可执行文件中,在apache PHP模块中还是可以在WSF / PHP本身中找到问题?
Zend Server CE 5.6运行PHP 5.3.9
PHP 5.3.9-ZS5.6.0 (cli) (built: Dec 22 2011 12:28:41)
答案 0 :(得分:0)
malloc错误似乎与WSF扩展有关。在我从源代码重建之后,我按照预期的方式工作了。与以前的唯一区别是我在编译时将CC=clang CXX=clang
添加到./configure
命令。
<强>更新强> 我的结论有点为时过早。如果我在WSDL模式下运行WSF,则会发生malloc错误。如果我明确发送SOAP信封,我不会收到错误。在Zend Server CE 5.5上运行时,WSDL模式运行良好。