我正在为后端开发一个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 报告。
首先我使用:
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();
}