Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何压制Joomla';s JUser::_加载:无法加载id为的用户错误消息?_Php_Joomla_Joomla1.6 - Fatal编程技术网

Php 如何压制Joomla';s JUser::_加载:无法加载id为的用户错误消息?

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 因为有这样的链接是可以的,所以我需要抑制这些消息。检索用户名的确切代码如下所示: $

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

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的用户”,您确定该用户存在吗?我绝对确定该用户不存在。但它是一个有效数据,因此我需要禁止显示此消息。调试系统设置为否。稍后我将检查错误报告,但我记得它也设置为无。错误报告设置为最大值,但将其设置为无没有帮助。