为什么在php中include()和require()失败时会出现两个错误报告

为什么在php中include()和require()失败时会出现两个错误报告,php,Php,我有这样一个脚本: <html> <body> <?php require("wrongFile.php"); echo "Hello World!"; ?> </body> </html> 现在,如果错误文件不存在,将报告以下两个错误: 警告:require(errowfile.php)[function.require]:无法打开流:第5行的C:\home\website\test.

我有这样一个脚本:

<html>
<body>

<?php
require("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

现在,如果错误文件不存在,将报告以下两个错误:

警告:require(errowfile.php)[function.require]:无法打开流:第5行的C:\home\website\test.php中没有这样的文件或目录

致命错误:require()[function.require]:未能在第5行的C:\home\website\test.php中打开所需的'ErrorFile.php'(include_path=';C:\php5\pear')

我知道,若require()函数中不存在文件,则会显示一个致命错误,导致脚本执行停止,但我不知道第一个错误是什么


使用include()函数时也会显示第一个错误,第一个是警告,而不是错误。您可以尝试使用
@include
来抑制它。(当然,它对
require
)没有多大用处。

这很明显,不是吗?:-)

当函数试图打开您指定的文件时,会从
require()
函数中抛出第一个警告。它无法打开用于读取文件的流,因为文件不存在


因此,函数调用本身也会失败,这就解释了“致命错误”。

您也可以同时关闭警告,@everyone:不要将错误消息格式化为代码。你让它们变得比纯文本更糟。为什么,为什么这个答案会被高估?哪怕是最细微的原因都可以是什么?