我有一个 PHP 脚本,其中包含(或“需要”)一组其他脚本。这对于导入我的所有类是有效的。我遇到的是 HTTP 500 错误。我已经逐一筛选并注释掉代码,以确定它在我的一个文件中的 require_once 上失败了。

这是代码:

索引.php:

<?php
require_once("std/classes.php");
?>

和 std/classes.php:
<?php
RequireStandards();
RequireAddons();

function RequireStandards( )
{
    $ClassFiles = scandir("classes/standard");

    foreach( $ClassFiles as $ClassFile )
    {
        if( $ClassFile == "." || $ClassFile == ".." )
            continue;

        //require_once("classes/standard/" . $ClassFile );
    }
}

function RequireAddons()
{
    $ClassFiles = scandir("classes");

    foreach( $ClassFiles as $ClassFile )
    {
        if( $ClassFile == "." || $ClassFile == ".." || $ClassFile == "standard" )
            continue;

        //require_once("classes/" . $ClassFile );
    }
}

?>

这段代码可以正常工作,但是一旦我取消对需求的注释,它就会失败。让我感到奇怪的是,我在这台服务器上有很多其他站点,它们的行为方式几乎相同。

我觉得好像我以某种方式关闭了我的 PHP 错误报告......我不知道如何重新打开它;因为我刚刚升级到 PHP 5.3。如果 PHP 失败,我通常希望在我的浏览器中出现“无法打开文件”或类似内容。

也许有人可以告诉我为什么这会退回 HTTP 500,或者只是如何重新启用错误报告。将不胜感激;这似乎没有多大意义。

最佳答案

要启用错误报告:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once("std/classes.php");
?>

希望这应该有效。

编辑:如果这确实有效,请记住在将任何内容放入实时、面向公众的环境中之前关闭显示错误!

关于PHP 在 require_once 上失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10147824/

10-11 22:11
查看更多