2

从 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)
4

1 回答 1

0

malloc 错误似乎与 WSF 扩展有关。在我从源代码重建它之后,我让它按预期工作。与之前的唯一区别是我在编译时添加CC=clang CXX=clang了命令。./configure

更新: 我的结论有点为时过早。如果我在 WSDL 模式下运行 WSF,则会出现 malloc 错误。如果我明确发送 SOAP 信封,我不会收到错误消息。在 Zend Server CE 5.5 上运行时,WSDL 模式运行良好。

于 2012-05-08T12:33:50.433 回答