如何抑制Joomla的JUser :: _ load:无法加载带有id错误信息的用户?

J0H*_*0HN 3 php joomla joomla1.6

我有一个Joomla 1.6安装,可以在两个数据库上运行:joomla的数据库和特定于域的数据库,两者都在同一个MySQL服务器上.特定于域的数据库中的某些实体保留其所有权链接,即存储创建它的Joomla用户的user_id.有些链接不一致,并指向不存在的Joomla用户,从域模型的角度来看是正常的.问题是当我尝试获取它显示的用户名时

JUser::_load:Unable to load user with id 1
Run Code Online (Sandbox Code Playgroud)

由于可以有这样的链接,我需要压制这些消息.检索用户名的确切代码如下:

$user_id = $ticket->getUserId();
$user =& JFactory::getUser($user_id);
Run Code Online (Sandbox Code Playgroud)

Wrappig这段代码ob_start() ... ob_end_clean()并没有帮助.当然,我可以通过黑客攻击Joomla的内部来做到这一点,但有没有更清洁的解决方案?我是Joomla的新手,所以也许管理员面板中有一些选项来压制这些消息?

更新:设置display_errors => off,html_errors => off,display_startup_errors => off noes没有帮助.使用@的PHP错误抑制$user =@ JFactory::getUser($user_id)也没有用.

Woo*_*Dzu 9

为什么不简单地预先检查用户是否存在然后运行您的代码:

$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
}
Run Code Online (Sandbox Code Playgroud)