他のスクリプトのセットを含む(または「必要とする」)PHPスクリプトがあります。これは、私のすべてのクラスをインポートするために効果的です。私が遭遇しているのはHTTP500エラーです。コードを1つずつふるいにかけてコメントアウトし、ファイルの1つにあるrequire_onceで失敗していることを確認しました。
コードは次のとおりです。
index.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 );
}
}
?>
このコードはそのままで機能しますが、requiresのコメントを外すとすぐに失敗します。奇妙なことに私を驚かせるのは、このサーバー上にほぼ同じように動作する他のサイトがたくさんあることです。
どういうわけかPHPエラーレポートがオフになっているように感じます...オンに戻す方法がわかりません。PHP5.3にアップグレードしたばかりです。PHPが失敗した場合、通常、ブラウザで「ファイルを開けませんでした」などと予想されます。
誰かが、なぜこれがHTTP 500をキックバックしているのか、あるいはエラー報告を再度有効にする方法を教えてくれるかもしれません。よろしくお願いします。これはあまり意味がないようです。