我试图使用test_helpers PECL扩展来覆盖setcookie实现而没有任何运气。
$username = 'test';
set_setcookie_overload(function() { error_log('setcookie called'); return FALSE; });
setcookie('username', $userName, time()+60*60*24*365, '/');
unset_setcookie_overload();
我收到此错误: PHP致命错误:调用未定义的函数set_setcookie_overload()
我验证了扩展程序在此处的示例中运行良好:https://github.com/sebastianbergmann/php-test-helpers
感谢。
更新:为了进一步说明,听起来像test_helpers扩展允许覆盖内置的PHP函数,如setcookie。在上面的链接中,作者提供了一个使用set_exit_overload()覆盖exit方法的示例。我正在尝试使用set_setcookie_overload()为setcookie()做同样的事情而没有任何运气。
答案 0 :(得分:2)
可以在源over at github
中找到可用的功能。以PHP_FUNCTION
开头的所有内容都会向用户公开以进行调用。
所以是的。 php-test-helpers中没有set_setcookie_overload()
。你必须找到另一种解决方法。
可悲的是,rename_function
无法帮助您,因为它不适用于内部功能。