我有一个 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/