require_once() 需要两分钟?
require_once() takes two minutes?
我有一个 PHP 脚本,它的执行时间过去只有几毫秒。
但昨天我收到投诉,说它永远加载。我检查了它并将问题确定为使用 require_once();
的一行 - 仅该行的执行时间大约为两分钟!
要包含的文件包含一堆函数,此时它本身不执行任何操作。它的大小也只有 35kb。
我完成了记录 microtime()
的脚本,这是输出:
0.10887400 1442934181 // start of script
0.13321200 1442934181 // line before "require_once()"
0.16033800 1442934307 // log time again in first line
// of the included functions file
0.16048000 1442934307 // back to original script,
// line after require_once()
0.16054300 1442934307 // end of script
出于好奇,我尝试用 require()
替换 require_once()
-- 进行更改。
我不知道可能是什么原因以及我应该从哪里开始调试。之前一直没问题,我也没做任何改动。
require_once
和 require
需要访问文件、读取文件并执行文件。所以你可能有多个问题,但你必须检查:
- 也许你的硬盘坏了?
- 也许文件被其他进程锁定了?
- 该文件现在包含一个做太多事情的大函数
我有一个 PHP 脚本,它的执行时间过去只有几毫秒。
但昨天我收到投诉,说它永远加载。我检查了它并将问题确定为使用 require_once();
的一行 - 仅该行的执行时间大约为两分钟!
要包含的文件包含一堆函数,此时它本身不执行任何操作。它的大小也只有 35kb。
我完成了记录 microtime()
的脚本,这是输出:
0.10887400 1442934181 // start of script
0.13321200 1442934181 // line before "require_once()"
0.16033800 1442934307 // log time again in first line
// of the included functions file
0.16048000 1442934307 // back to original script,
// line after require_once()
0.16054300 1442934307 // end of script
出于好奇,我尝试用 require()
替换 require_once()
-- 进行更改。
我不知道可能是什么原因以及我应该从哪里开始调试。之前一直没问题,我也没做任何改动。
require_once
和 require
需要访问文件、读取文件并执行文件。所以你可能有多个问题,但你必须检查:
- 也许你的硬盘坏了?
- 也许文件被其他进程锁定了?
- 该文件现在包含一个做太多事情的大函数