1

对于 joomla 1.5,我使用以下代码行来获取数据库对象,但是 joomla 2.5 的等效代码是什么?我使用了很多代码,但似乎都不起作用,包括在 stackoverflow 本身上找到的......我只想通过 Ajax 调用一个 php 脚本来更新通过 DB 的下拉列表......我得到错误 500:内部服务器错误

// joomla 1.5 code
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] );

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
$mainframe =& JFactory::getApplication('site');

$get_db  = &JFactory::getDBO();

我通过 ajax 调用的脚本文件具有以下代码...它仍在响应内部服务器错误,不知道包含 oor 常量有什么问题,如果我删除除最后一行之外的所有行,则此工作正常并返回“hi”通过 ajax 调用...我正在使用 joomla 2.5.7,有什么提示吗???

  //joomla 2.5 script NOT WORKING
  define( '_JEXEC'  1 );
  define( '_VALID_MOS'  1 );
  define( 'JPATH_BASE'  realpath(dirname(__FILE__)));
  define( 'DS'  DIRECTORY_SEPARATOR );
  require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
  require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
  echo JPATH_BASE .DS.'includes'.DS.'framework.php';
  $mainframe =& JFactory::getApplication('site');
  $mainframe->initialise();
  echo $mainframe->getCfg('sitename');
  $db =& JFactory::getDBO(); 

  echo "hi";
4

1 回答 1

0

这是我用来从 shell 脚本访问 Joomlas 数据库的代码:

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Initialise the application.
$app->initialise();

$dbo = JFactory::getDBO();
于 2013-07-26T09:25:58.913 回答