为什么在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:不要将错误消息格式化为代码。你让它们变得比纯文本更糟。为什么,为什么这个答案会被高估?哪怕是最细微的原因都可以是什么?