我想调试file_exists()
占用我网站的时间。为了对此进行调试,我想暂时禁用file_exists()
的所有实例,以尝试在没有它的情况下网站生成的速度。
有没有简单的方法可以做到这一点?我正在使用PHP 5.3.3。
答案 0 :(得分:0)
你可以在PHP中使用disable functions,但这完全符合它的建议:它完全禁用了该功能。你正在寻找的东西是不可能的,因为如果你“禁用”一个函数,但不希望脚本失败,那么该函数必须返回一些有用的东西。 PHP如何为每个内置和用户空间函数返回?特别是因为PHP无法知道每个上下文中的正确值:在某些情况下,file_exists()
应返回true
,在某些false
中脚本工作。当数组和对象发挥作用时,它(显然)会非常复杂。
另一种方法是使用自定义函数覆盖函数:PHP首先在当前命名空间中搜索非限定函数名称,然后才使用全局函数名称。这意味着您可以在每个名称空间中创建名为file_exists()
的函数。
但我最后的建议是:不要破解你的代码进行调试和分析。 改为使用调试器和分析器。
答案 1 :(得分:0)
尝试编写一个唯一的函数,并将其称为file_exists()
,而不是<?php
function call_file_exists($file) {
$debug = true;
if($debug) {
$_SESSION["count"]++; //count all event when file_exist called
return false;
} else { //if no debug, normal function call and return the result
return file_exists($file);
}
}
?>
,例如:
$_SESSION["count"];
因此,如果您打印{{1}},它将显示呼叫的数量。
答案 2 :(得分:0)