我正在为后端开发一个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();
}
关于php - Joomla后端禁用我的组件中的错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48314630/