Php joomla工厂获取用户
您好,我在我的应用程序上收到以下错误消息,该应用程序在来自joomla应用程序的iframe中运行,并从joomla会话获取用户详细信息: 警告:ini_set():会话处于活动状态。您不能更改会话 此时模块的ini设置在 /home/sites/accstats.co.uk/public_html/libraries/joomla/session/handler/joomla.php 在线45 id:973 这就是我正在使用的代码,它在joomla的旧版本中一直运行良好,我不是开发人员(只是业余爱好者),所以我不确定问题出在哪里Php joomla工厂获取用户,php,joomla,Php,Joomla,您好,我在我的应用程序上收到以下错误消息,该应用程序在来自joomla应用程序的iframe中运行,并从joomla会话获取用户详细信息: 警告:ini_set():会话处于活动状态。您不能更改会话 此时模块的ini设置在 /home/sites/accstats.co.uk/public_html/libraries/joomla/session/handler/joomla.php 在线45 id: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"] = "";
}
我也有同样的问题。当我移动到live server时,我的AJAX文件都不起作用。在花了几个小时之后,我发现这是一个URL问题。所以通过修正JPATH_基来解决这个问题。我看你已经给出了这个参数的绝对路径。你为什么不这样定义它:
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的斜杠数。我复制并粘贴了我遇到问题的应用程序的标题,并解决了它。希望对你也有用。我也有同样的问题。当我移动到live server时,我的AJAX文件都不起作用。在花了几个小时之后,我发现这是一个URL问题。所以通过修正JPATH_基来解决这个问题。我看你已经给出了这个参数的绝对路径。你为什么不这样定义它:
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的斜杠数。我复制并粘贴了我遇到问题的应用程序的标题,并解决了它。希望它也适用于您。您是否检查了session.autostart?然后呢?您正在使用mod spdy模块吗?如果在文件开头添加会话开始,会发生什么情况?首先,您不需要向我们添加会话开始。DS。在大多数情况下,因为Windows不再有处理*nix斜杠的问题。但是第二。。在我看来,您有一个双斜杠,因为您在JPATH_BASE的末尾有一个斜杠,然后在追加下一段之前有一个
.DS.
。您是否检查了session.autostart?然后呢?您正在使用mod spdy模块吗?如果在文件开头添加会话开始,会发生什么情况?首先,您不需要向我们添加会话开始。DS。在大多数情况下,因为Windows不再有处理*nix斜杠的问题。但是第二。。在我看来,您有一个双斜杠,因为您在JPATH_BASE的末尾有一个斜杠,然后在追加下一段之前有一个.DS.
。