您好我在我的应用程序上收到以下错误消息,该消息在joomla应用程序的iframe中运行并从joomla会话获取用户详细信息:
警告:ini_set():会话处于活动状态。您无法更改会话 此时模块的ini设置 /home/sites/accstats.co.uk/public_html/libraries/joomla/session/handler/joomla.php 第45行身份证号码:973
这是我正在使用的代码,对于旧版本的joomla来说,它一直运行良好,我不是开发人员(只是一个业余爱好者)所以我不确定问题是什么。
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_BASE', "/home/sites/accstats.co.uk/public_html/" );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();
$user = JFactory::getUser();
if($user->id)
// log in
{
$_SESSION["UserID"] = $user->get("username");
$groups = $user->get('groups');
$_SESSION["GroupID"] = reset($groups);
$_SESSION["UserName"] = $user->get("name");
if ($user->get('isRoot')) $_SESSION["AccessLevel"] = ACCESS_LEVEL_ADMINGROUP;
else $_SESSION["AccessLevel"] = ACCESS_LEVEL_USER;
}
else
// log out
{
$_SESSION["UserID"] = "";
$_SESSION["AccessLevel"] = "";
$_SESSION["GroupID"] = "";
$_SESSION["UserName"] = "";
}
答案 0 :(得分:0)
我遇到了同样的问题。当我转移到实时服务器时,我的AJAX文件都没有工作。花了几个小时后,我发现这是一个URL问题。所以通过纠正JPATH_BASE来解决这个问题。我看到你已经给出了该参数的绝对路径。你为什么不这样定义:
define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../../../..' ));
// including the main joomla files
require_once ( JPATH_BASE . '/includes/defines.php' );
require_once ( JPATH_BASE . '/includes/framework.php' );
require_once ( JPATH_BASE . '/configuration.php' );
// Creating an app instance
$app = JFactory::getApplication('site');
$app->initialise();
jimport( 'joomla.user.user' );
jimport( 'joomla.user.helper' );
如果它不适合您,您可以更改代码行2处的斜杠数。我复制并粘贴了我遇到问题的应用程序的标题并解决了它。希望它也适合你。