3

有很多“?” 在调试php扩展的内存泄漏时的日志中,因此使用valgrind。建议程序应避免在共享对象上调用dlclose。我怎样才能做到这一点?难道说只能通过修改php的源码来实现吗?

4

1 回答 1

1

您需要为您的 php 构建安装调试符号...许多打包系统使调试包可单独用于发布包。包(如果可用)通常使用约定 php-debug/php-dbg/php53-dbg/php53-debug 命名。

如果它不可用,那么您需要自己编译一个启用调试的 PHP 副本,这样做并且不干扰您当前的安装,通常将 --prefix=/my/private/folder 添加到配置选项就足够了。要启用调试添加--enable-debug,然后您需要重新编译php 扩展(我假设它来自pecl,如果它有泄漏)从make clean 开始,然后是/my/private/folder/bin/phpize。

祝你好运 :)

于 2012-09-13T19:56:12.263 回答