PHP包含vs include_once(速度)[重复]

Posted

技术标签:

【中文标题】PHP包含vs include_once(速度)[重复]【英文标题】:PHP include vs include_once (speed) [duplicate] 【发布时间】:2011-05-18 14:33:46 【问题描述】:

可能重复:Why is require_once so bad to use?

我在某处读到过,php 中的 include_oncerequire_once 语句比它们的非一次性语句慢。这是一个明显的放缓吗?是否对此进行过任何测试或研究,在最近的 PHP 版本中是否发生了变化?

【问题讨论】:

【参考方案1】:

速度提升是最小的,并且是在进行参考检查以防止代码重复时进行的。 'once' 附件是针对相同代码被执行/包含两次的预防措施。执行此检查的速度成本很小。

如果你曾经使用过_once 的实例,看看为什么会这样,你的代码真的是以最有效的方式构建的吗?消除对_once 的依赖并生成更好的代码通常会更好(说起来容易做起来难!)。

见:

http://forums.digitalpoint.com/showthread.php?t=1693837

http://www.phpbb.com/community/viewtopic.php?f=71&t=565933

http://www.sitepoint.com/forums/showthread.php?t=269085

http://www.quora.com/What-is-the-difference-between-functions-include-and-include_once-in-PHP

【讨论】:

【参考方案2】:

include_once 和 require_once 函数比 include 和 require 慢,仅仅是因为它们会跟踪已经包含的文件,以避免多次包含它们。

但这一点都不重要,因为可能有很多方法可以优化您的应用程序,比这个更有效。

【讨论】:

澄清一下——include_oncerequire_once 函数只有在脚本运行恰好一次时才会变慢。如果通过include 包含特定脚本foo.php,则每次都会运行它。如果它是通过include_once 包含的,那么检查它是否已运行的速度成本最低,但在除第一次之外的每次运行时,脚本都不会执行。

以上是关于PHP包含vs include_once(速度)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP内的包含语句(include(),require(),include_once(),require_once())

include_once(../../config.php):打开流失败:没有这样的文件或目录

php include_once 使我的代码停止运行

include_once(../../ config.php):无法打开流:没有这样的文件或目录

php的include(),require(),include_once(),require_once()

文件包含漏洞