要求 PHP 不起作用

Require PHP doesn't work

我正在 PHP 中编写代码,但尚未完全完成。当我在浏览器中打开此 register.php 脚本时,只有一个空白页面,因为我无法通过 require('config.php')。当我删除 require('config.php') 时,所有内容都会出现在我的浏览器中。

你能帮我看看我的require有什么问题吗?

<?php

require('config.php');
if (isset($_POST['submit'])) {
} else {
    $form = <<<EOT
<form action="register.php" method="POST">
First Name: <input type="text" name="name" /> <Br/>
Last Name: <input type="text" name="lname" /> <Br/>
Username: <input type="text" name="uname" /> <Br/>
Email: <input type="text" name="email1" /> <Br/>
Email2: <input type="text" name="email2" /> <Br/>
Pass: <input type="password" name="pass1" /> <Br/>
Pass2: <input type="password" name="pass2" /> <Br/>
<input type="submit" value="register" name="submit" />      
</form>
EOT;
    echo $form;
}

这是因为 require 函数将查找文件 config.php。如果没有找到,它会给你一个错误。如果您将以下行放入文档中,此错误可能仅可见:

ini_set("display_errors", 1);
error_reporting(E_ALL);

取自 PHP documentation:

require is identical to include except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include only emits a warning (E_WARNING) which allows the script to continue.

See the include documentation for how this works.


如果您希望 PHP 在找不到文件时不给您报错,您可以将 require 替换为 include。这意味着当它找不到文件时,它仍然会在之后运行代码。

为了解决实际问题,您可以检查 config.php 是否在正确的位置。如果不是这种情况,请在 register.php 所在的同一文件夹中创建一个名为 config.php 的文件。

如果您的 config.php 在正确的位置,请检查该文件是否没有任何错误,如果有,则 require 函数也将无法运行。

描述:-它的发生是因为如果你使用 require('config.php');这意味着它有必要拥有文件 "config.php",如果 php 无法找到该文件,那么它会给你一个致命错误,但正如你所说,它不会显示你的任何意思php.ini 文件 display_error 已关闭或 error_reporting 未设置。

所以你需要设置 error_reporting = E_ALL 或者 error_reporting = E_ALL | E_STRICT 和 display_errors = 在 php.ini 文件中打开,或者您可以在 php 代码中使用命令将其打开 ini_set( "display_errors", 1);
error_reporting(E_ALL);.

Require:-require 将产生致命错误 (E_COMPILE_ERROR) 并停止脚本。
include :-include 只会产生警告 (E_WARNING) 并且脚本会继续。