【发布时间】:2012-10-08 23:32:57
【问题描述】:
这是我苦苦挣扎了几个小时的代码:
if ((require $_SESSION['ROOT_PATH'] . '/templates/core/menu_js.php') == 'OK') {
echo 'OK';
} else {
echo 'KO';
}
如果我正确理解了关于“require”指令的 PHP 文档,则永远不应该编写“KO”,因为如果 require 不起作用,则会引发错误。
在我的情况下,即使有错误调整,“KO”也会始终显示:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
请注意,相同的要求(或包含)在网站的其他页面中也能完美运行。
编辑
查看文档后添加了if结构。 起初,我只有一行:
require $_SESSION['ROOT_PATH'] . '/templates/core/menu_js.php';
当我检查该行不工作时,我添加了if。
顺便说一句。所需页面(当它工作时)将script 标记添加到我从未在此唯一页面上看到的调用页面。在使用此要求的任何其他页面上,脚本会出现在输出中。
所以我的问题应该是“如果没有显示所需的php文件的输出,为什么没有引发错误?”
【问题讨论】:
-
menu_js.php 是否真的有一个声明说:return 'OK'?如果没有,它总是会说“KO”。另见:nl1.php.net/manual/en/function.include.php