Joomla JUser返回0

时间:2016-08-08 12:00:27

标签: php ajax session joomla

嗨(抱歉英文不好:c) 我的代码有问题。 web中有两个版本的站点 - dev和main。 两者都使用PHP 5.4并拥有一个主机提供商。但是在开发站点中,所有工作都很好并且主要 - 而不是。 关于问题 我使用XMLHttpRequest将ajax请求发送到php文件,包含在启动其他文件(ajax控制器的头部)中。这是(最后)文件的来源:

<?PHP

define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__).'/../../../../../' );
define( 'DS', DIRECTORY_SEPARATOR );


require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

JFactory::getApplication('site')->initialise ();
$user = JFactory::getSession()->get( 'user' );
$___temp_user =& JFactory::getUser();
$user_id = $___temp_user->get('id');

但是,我怎么说,主$ ___ temp_user返回0; (我登录) 拜托,告诉我为什么会这样。

(Joomla 1.5.9)

1 个答案:

答案 0 :(得分:0)

此代码

define('JPATH_BASE', dirname(__FILE__).'/../../../../../' );

两个站点不应该相同。

双重检查路径或执行

var_dump(JPATH_BASE); exit;

您也可以像

那样提供joomla安装的硬编码路径
define('JPATH_BASE', '/var/www/joomla' );