Итак, приведенный выше код работал отлично, пока Joomla 3.3 не обновился до 3.4, и теперь мой код производит это
Ошибка, которую я получаю:
Неустранимая ошибка: вызов неопределенной функции Composer \ Autoload \ includeFile () в /home4/chiefres/public_html/cms/libraries/ClassLoader.php в строке 43
Код, приводящий к ошибке ниже — есть идеи о том, что происходит? Я попробовал полную установку (это было обновление с 3.3 изначально), и это тоже не помогло. Очистка кешей и т. Д. Не поможет. Благодарю.
этот код находится в корне сайта, а joomla находится в подкаталоге cms.
============
<?php
/**
* @package Joomla.Site
*
* @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
if (version_compare(PHP_VERSION, '5.3.1', '<'))
{
die('Your host needs to use PHP 5.3.1 or higher to run this version of Joomla!');
}
/**
* Constant that is checked in included files to prevent direct access.
* define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
define('_JEXEC', 1);
if (file_exists(__DIR__ . '/cms/defines.php'))
{
include_once __DIR__ . '/cms/defines.php';
}
if (!defined('_JDEFINES'))
{
//define('JPATH_BASE', __DIR__);
define('JPATH_BASE', "./cms");
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();
//echo($username);
//echo($password);
$credentials = array( 'username' => $username, 'password' => $password);
$options=array( 'remember' => boolean );
$login_site =& JFactory::getApplication('site');
$login_site->login($credentials, $options);
// $app->redirect("xxxxxxxxxxxxxxxxxxxxxxxxx"); // you can redirect anywhere
?>
обнаружил, что проблема была в том, что я пытался войти в phpbb и joomla в одном скрипте. Работал до 3.4 joomla. Очевидно, в phpbb common.php есть что-то, что вызывает фатальную ошибку classloader.php. Удаление phpbb include для common.php устранило ошибку.
Все еще возникают проблемы при входе в Joomla, этот фрагмент кода больше не работает
$credentials = array( 'username' => $username, 'password' => $password);
$options=array( 'remember' => 'boolean' );
$login_site =& JFactory::getApplication('site');
$login_site->initialise();
$login_site->login($credentials, $options);
и вместо этого теперь дает:
Примечание: смещение неинициализированной строки: 0 в /cms/libraries/joomla/user/helper.php в строке 341
Может кто-нибудь выложить пример работы внешнего логина для 3.4
Задача ещё не решена.
Других решений пока нет …