访问Joomla环境脚本失败,如果不是root


Accessing Joomla Enviroment script fails if not in root

我是一个新手,但正在努力学习。

我有一个脚本来读取joomla用户详细信息。这是一个简单的脚本,只是显示登录的用户名。脚本工作,如果我把它放在我的网站的根目录。

我想做的是从根目录下的文件夹运行脚本,例如/ssscart。

当我将脚本放入子目录时,它不会执行。

下面是我的脚本:
<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', '/' );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
JFactory::getApplication('site')->initialise();
$user = JFactory::getUser();
$joomla_name = $user->name;
$joomla_email = $user->email;
$joomla_password = $user->password;
$joomla_username = $user->username;
echo 'hello';
echo " - ".$joomla_username;
?>

我相信我的问题是在JPATH_BASE条目,但还没有能够弄清楚它。

感谢G

试试这个,

这个问题是由于JPATH_BASE路径错误。

当你在根目录下时,它看起来像。

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

在你的例子中,你在子文件夹中所以它看起来像。

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

那么你的最终代码将看起来像。

define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(dirname(__FILE__)) );
define( 'DS', '/' );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
JFactory::getApplication('site')->initialise();