这对我来说有点奇怪.
PHP是我的强项,我通常可以找出遇到的任何问题.
我有一个我多年来一直使用的自定义框架.我已经把它重写了,我做的一切都和以前一样.问题在于以下构造:
function ModPages_GetPage() {
$page = ModPages_GetPageByName($_GET['page_name']);
if($page != false) {
include(TPL_DIR.'pages/pages.view.php');
} else {
ErrorMessage('Invalid Page', 'The selected page could not be found.');
}
}
function ModPages_GetPageByName($page_name = null) {
$db = new Database;
$query = '
SELECT *
FROM pages
WHERE page_name = "'.CleanStr($page_name).'"
AND page_enabled = "yes"
LIMIT 1
';
$page = $db->GetRow($query);
return $page;
}
对于$_GET [‘page_name’]的值,使用’home’调用此代码.对ModPages_GetPageByName()的调用工作正常,但ModPages_GetPage()中$page的值未设置.事实上,在该调用之后抛出的任何调试语句都无法显示任何内容.
我将display_errors设置为on,并将error_reporting设置为E_ALL.我从我的数据库类中得到了一些通知,但就是这样.
在shell上运行脚本无法产生任何错误.当使用strace时,我确实看到该过程吐出’exit_group(255)’.
这个让我很困惑.我可以肯定在这方面使用一些方向.