Я создал скрипт, чтобы вставить некоторые статьи через php-скрипт. Этот скрипт работает на моей локальной машине (xampp), но когда я развертываю весь проект joomla на своем веб-сервере, я получаю следующее сообщение об ошибке:
Ошибка при отображении страницы с ошибкой: Ошибка выполнения приложения: ошибка при создании приложения
Добавив некоторые эхо-вызовы, я смог найти строку, которая вызывает ошибку:
$app = JFactory::getApplication('site');
Теперь мне интересно, как исправить это поведение и сделать мою функцию также запущенной на веб-сервере.
Ниже я передам свои системные данные и начало моей функции php до строки, которая вызывает сообщение об ошибке:
<?php echo "STARTING; "; // get db connection include('../includes/mysql.inc.php'); // get all sql querys include('./autoNewsQuerys.inc.php'); /** * Prepare joomla framework to insert article correctly */ if (!defined('_JEXEC')) { define('_JEXEC', 1); define('JPATH_BASE','/is/htdocs/wp1088688_4E1H7PYJFK/www'); require_once(JPATH_BASE . '/includes/defines.php'); require_once(JPATH_BASE . '/includes/framework.php'); defined('DS') or define('DS', DIRECTORY_SEPARATOR); } echo "searching app;"; $app = JFactory::getApplication('site'); echo "Found app;";
в<?php echo "STARTING; "; // get db connection include('../includes/mysql.inc.php'); // get all sql querys include('./autoNewsQuerys.inc.php'); /** * Prepare joomla framework to insert article correctly */ if (!defined('_JEXEC')) { define('_JEXEC', 1); define('JPATH_BASE','/is/htdocs/wp1088688_4E1H7PYJFK/www'); require_once(JPATH_BASE . '/includes/defines.php'); require_once(JPATH_BASE . '/includes/framework.php'); defined('DS') or define('DS', DIRECTORY_SEPARATOR); } echo "searching app;"; $app = JFactory::getApplication('site'); echo "Found app;";
ПУСК; поиска при ошибке: Ошибка отображения страницы ошибки: Ошибка создания приложения: Не удалось запустить сеанс, поскольку заголовки уже отправлены по адресу «/is/htdocs/wp1088688_4E1H7PYJFK/www/1500AutoNews/autoNews.php» в строке 3.
Таким образом, вы можете видеть, что ошибка вызвана вызовом JFactory. «Найденное приложение» никогда не распечатывается.