我有一個包含(或'需要')一組其他腳本的PHP腳本。這有效地用於導入我所有的類。我遇到的是一個HTTP 500錯誤。我已經篩選並逐段評論代碼,以確定它在我的某個文件中的require_once上失敗。PHP在require_once上失敗
下面是代碼:
的index.php:
<?php
require_once("std/classes.php");
?>
和性病/ 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失敗,我通常會期望在瀏覽器中出現'couldnt open file'或其他類似的內容。
也許有人可以告訴我爲什麼這是踢回HTTP 500,或者也許只是如何重新啓用錯誤報告。這將非常感激;這似乎沒有多大意義。
你可以諮詢你的服務器日誌嗎? – miku 2012-04-13 20:25:21
你的課堂文件夾在根目錄中嗎?嘗試在類之前添加「/」?只是一個猜測。 – 2012-04-13 20:25:47
您的包含路徑可能存在問題http://www.php.net/manual/en/function.set-include-path.php – 2012-04-13 20:28:29