在PHP中运行时重命名函数

roo*_*ook 8 php debugging pecl php-extension

在PHP 5.3中有一种重命名函数或"挂钩"函数的方法.

还有就是rename_function()因为〜2004年已被打破"APD"内.如果您尝试在PHP 5.3上构建它,您将收到此错误:

'struct _zend_compiler_globals' has no member named 'extended_info'

这是一个非常容易修复的错误,只需更改此行:

GC(extended_info) = 1;

CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

我修改了我的php.ini,APD出现在我的phpinfo()中.但是,当我调用rename_function()PHP页面没有加载,我得到了我的分段错误/var/log/apache2/error.log.

反正有没有修复APD与现代版本的PHP一起工作?或者是否有另一种重命名函数的方法? 为什么地球上的重要功能不在PHP中!??!?!(得爱蟒蛇:)

Dmi*_*ich 2

最新的 runkit 扩展可以在http://github.com/zenovich/runkit上找到 ,它支持目前发布的所有当代 PHP 版本(从 4.4 到 5.4+)。该 runkit 是官方的并受支持。

此致 德米特里·泽诺维奇