Mam skrypt PHP, który zawiera (lub "wymaga") zestaw innych skryptów. Jest to skutecznie do importowania wszystkich moich klas. To, co napotykam, to błąd HTTP 500. Przefiltrowałem i skomentowałem kod kawałek po kawałku, aby stwierdzić, że jest on uszkodzony na require_once w jednym z moich plików.PHP Fails on require_once
Oto kod:
index.php:
<?php
require_once("std/classes.php");
?>
I 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);
}
}
?>
Ten kod będzie działać jak siedzi, ale jak najszybciej Odkomentowuję wymagania, to się nie udaje. Dziwne jest to, że mam wiele innych stron na tym serwerze, które działają w niemal identyczny sposób.
Mam wrażenie, że jakoś mam wyłączone zgłaszanie błędów PHP ... ale nie wiem, jak włączyć ponownie; jak tylko uaktualniłem do PHP 5.3. Zazwyczaj spodziewałbym się, że "nie da się otworzyć pliku" lub czegoś takiego w mojej przeglądarce, jeśli PHP się nie powiedzie.
Być może ktoś mógłby mi powiedzieć, dlaczego to cofa HTTP 500, a może po prostu jak ponownie włączyć raportowanie błędów. Byłoby to bardzo doceniane; to po prostu nie ma większego sensu.
Czy możesz sprawdzić dzienniki serwera? – miku
Czy twój folder zajęć znajduje się w katalogu głównym? Spróbuj dodać "/" przed zajęciami? Tylko zgadnij. –
Być może problem ze ścieżką dołączania http://www.php.net/manual/en/function.set-include-path.php –