0

file_exists()我想调试我的网站占用了多少时间。要对此进行调试,我想file_exists()暂时禁用 的所有实例,以尝试在没有它的情况下站点生成的速度。

有什么简单的方法可以做到这一点?我正在使用 PHP 5.3.3。

4

3 回答 3

0

您可以在 PHP 中禁用函数,但这正是它所暗示的:它完全禁用了该函数。您正在寻找的东西根本不可能,因为如果您“禁用”一个函数,但不希望脚本失败,该函数必须返回一些有用的东西。PHP 应该如何为每个内置函数和用户空间函数返回?特别是因为 PHP 无法知道,在每个上下文中哪个是正确的值:在某些情况下file_exists()应该 return true,在某些情况下false让脚本工作。当数组和对象发挥作用时,它(显然)会变得非常复杂。

另一种方法是用自定义函数覆盖函数:PHP 首先在当前名称空间中搜索不合格的函数名称,然后才使用全局名称。这意味着您可以创建file_exists()在每个命名空间中命名的函数。

但我最后的建议是:不要为了调试和分析而修改代码。请改用调试器和分析器

于 2013-03-14T00:15:35.837 回答
0

尝试编写一个 uniqe 函数,并调用它而不是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"];,它将显示呼叫次数。

于 2013-03-14T00:24:02.063 回答
0

安装xdebug,运行分析器,查看所有file_exists调用需要多长时间(或任何其他函数),调用频率等等。

于 2013-03-14T01:45:42.577 回答