嗨(抱歉英文不好: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)
答案 0 :(得分:0)
此代码
define('JPATH_BASE', dirname(__FILE__).'/../../../../../' );
两个站点不应该相同。
双重检查路径或执行
var_dump(JPATH_BASE); exit;
您也可以像
那样提供joomla安装的硬编码路径define('JPATH_BASE', '/var/www/joomla' );