Oto kod I zostały z trudem przez kilka godzin:PHP wymaga nie bez błędu
if ((require $_SESSION['ROOT_PATH'] . '/templates/core/menu_js.php') == 'OK') {
echo 'OK';
} else {
echo 'KO';
}
Jeśli rozumiem dokumentacji PHP na „wymagają” dyrektywy poprawnie, „KO” nigdy nie powinny być napisane ponieważ, jeśli wymaganie nie działa, powstaje błąd.
W moim przypadku „KO” jest zawsze wyświetlany nawet przy błędzie tunning:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
Należy pamiętać, że sama wymaga (lub obejmuje) działa doskonale na innych stronach serwisu.
EDIT
if struktura została dodana po obejrzeniu dokumentacji. Początkowo miałem jedną linię:
require $_SESSION['ROOT_PATH'] . '/templates/core/menu_js.php';
Jak sprawdziliśmy, że linia ta nie działa, dodałem if
.
Przy okazji. Wymagana strona (jeśli działa) dodaje tag script
do strony wywołującej, której nigdy nie widzę na tej unikalnej stronie. Na dowolnej innej stronie, na której jest to wymagane, skrypt pojawia się na wyjściu.
Moje pytanie powinno brzmieć "jeśli wynik wymaganego pliku php nie zostanie wyświetlony, dlaczego nie zgłoszono błędu?"
Czy menu_js.php rzeczywiście zawiera instrukcję, która mówi: return "OK"? Jeśli nie, zawsze będzie mówić "KO". Zobacz także: http://nl1.php.net/manual/en/function.include.php – Friek