如果不是root用户,访问Joomla Enviroment脚本会失败

时间:2014-07-16 20:33:15

标签: php joomla external

我是新手但是想学习。

我有一个脚本来阅读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条目中,但尚无法解决。

由于

1 个答案:

答案 0 :(得分:0)

试试这个,

问题是由于JPATH_BASE路径错误造成的。

当你在root中时它看起来像。

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();

希望它有效..