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)也没有用.
为什么不简单地预先检查用户是否存在然后运行您的代码:
$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)
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |