首先,整体来讲,require_once 确定要比 require 性能好。 由于 require 某个文件等同于 “编译 + 执行” 这个文件;require_once 避免了对相同文件的重复 “编译” 和 “执行”。 即便使用APC大大下降了“编译”阶段的消耗,可是“执行”阶段依然每次都会作重复工做。 其次,鸟哥说的应该是在PHP5.2以前,require_once 的实现机制不健全,只有当参数传的是绝对路径,才会根据路径去确认该文件是否加载过,不然就会 open 这个文件,这显然很不合理。 PHP5.3以后,开始支持相对路径; 但即便是这种场景,也不是 require 绝对比 require_once 性能好,而只是对那些定义比较多的PHP文件是这样;执行代码比较多的场景就必定不是这样了。 综上所述,require_once 从设计思路上来讲是要比 require 性能高的; 具体来讲 PHP5.2以前: 一、若是使用的是绝对路径,使用 require_once; 二、若是是相对路径的定义文件,使用了APC,选择 require;没有使用 APC,使用 require_once; 三、若是是相对路径的偏执行文件,使用 require_once PHP5.3以后: 一、对于定义性的文件,若是用了APC,使用 require_once 性能稍高一些;没有APC,固然是 require_once ; 二、对于有执行代码的文件,固然是 require_once;