我正在为后端开发一个joomla组件。现在进行调试我只需将die()
放到我需要停止的位置,并一直显示调试信息以找出发生的情况。我没有使用XDEBUG,因为有很多查询,我需要一次检查很多结果。
但我有一个问题。当我在我的SQL查询中出现错误,因为脚本中的一些错误或我的错误只是把它放在Joomla所有其他信息的底部,例如页面:
/administrator/index.php?option=com_xyz&view=build
/administrator/
删除所有调试信息,所以我无法弄清楚错误发生在哪里或哪个SQL查询导致了这个问题。
所以我在红色块内的主要管理页面上有类似的错误:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 3
我希望它没有捕获错误,并允许我用其他我的脚本输出看到它。
那么如何在我的组件中暂时禁用joomla报告。
答案 0 :(得分:0)
首先我使用:
restore_exception_handler();
然后
try {
$dict_data = $db->loadObject();
}
catch (Exception $e){
$trace = $e->getTrace();
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
die();
}