Php 如何压制Joomla';s JUser::_加载:无法加载id为的用户错误消息?
我有一个Joomla 1.6安装,它在两个数据库上运行:Joomla的数据库和特定于域的数据库,都在同一个MySQL服务器上。域特定数据库中的某些实体保留其所有权链接,即存储创建该数据库的Joomla用户的用户id。有些链接不一致,指向不存在的Joomla用户,从域模型的角度来看这是正常的。问题是当我试图获取它显示的用户名时Php 如何压制Joomla';s JUser::_加载:无法加载id为的用户错误消息?,php,joomla,joomla1.6,Php,Joomla,Joomla1.6,我有一个Joomla 1.6安装,它在两个数据库上运行:Joomla的数据库和特定于域的数据库,都在同一个MySQL服务器上。域特定数据库中的某些实体保留其所有权链接,即存储创建该数据库的Joomla用户的用户id。有些链接不一致,指向不存在的Joomla用户,从域模型的角度来看这是正常的。问题是当我试图获取它显示的用户名时 JUser::_load:Unable to load user with id 1 因为有这样的链接是可以的,所以我需要抑制这些消息。检索用户名的确切代码如下所示: $
JUser::_load:Unable to load user with id 1
因为有这样的链接是可以的,所以我需要抑制这些消息。检索用户名的确切代码如下所示:
$user_id = $ticket->getUserId();
$user =& JFactory::getUser($user_id);
将此代码包装成ob_start()。。。ob_end_clean()
没有帮助。
当然,我可以通过破解Joomla的内部结构来做到这一点,但有没有更干净的解决方案?我是Joomla的新手,所以也许在管理面板中有一些选项来抑制这些消息
更新:设置display\u errors=>off、html\u errors=>off、display\u startup\u errors=>off没有帮助。在@as
$user=@JFactory::getUser($user\u id)
中使用PHP错误抑制也没有帮助。您可以在配置中关闭错误消息的显示:
- 在Tab服务器上,将错误报告设置为无
- (也可以:)在选项卡系统上,将调试系统设置为否
$table = JUser::getTable();
$user_id = intval( $ticket->getUserId() );
if($table->load( $user_id ))
{
$user =& JFactory::getUser($user_id);
// now you are sure user exists
} else {
// user doesn't exists
}
如果它说“无法加载id为1的用户”,您确定该用户存在吗?我绝对确定该用户不存在。但它是一个有效数据,因此我需要禁止显示此消息。调试系统设置为否。稍后我将检查错误报告,但我记得它也设置为无。错误报告设置为最大值,但将其设置为无没有帮助。