【问题标题】:why two error reports when include() and require() failed in php为什么在php中include()和require()失败时会报告两个错误
【发布时间】:2011-12-23 17:55:30
【问题描述】:

我有一个这样的脚本:

<html>
<body>

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

</body>
</html>

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

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

致命错误:require() [function.require]:Failed opening required 'wrongFile.php' (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5

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

在使用include()函数时也会出现第一个错误

【问题讨论】:

标签: php


【解决方案1】:

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

require() 函数尝试打开您指定的文件时,会引发第一个警告。它无法打开用于读取文件的流,因为该文件不存在。

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

【讨论】:

    【解决方案2】:

    首先是警告,而不是错误。您可以尝试使用@include 来抑制它。 (当然,require 用处不大)。

    【讨论】:

    • 为什么,为什么这个答案曾经被赞成?哪怕是最轻微的原因?
    猜你喜欢
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多