У меня есть сценарий данных joomla cli, который завершается с ошибкой (нехватка памяти), когда в глобальной конфигурации включена «система отладки», поскольку в JDatabaseDriver :: execute () есть утечка памяти. Я хотел бы отключить «систему отладки» в начале этого скрипта. Это помогло бы мне, если бы я мог переопределить содержимое файла configuration.php программным способом.
Мой скрипт выглядит следующим образом:
const _JEXEC = 1;
// Load system defines
if (file_exists(dirname(__DIR__) . '/defines.php'))
{
require_once dirname(__DIR__) . '/defines.php';
}
if (!defined('_JDEFINES'))
{
define('JPATH_BASE', dirname(__DIR__));
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_LIBRARIES . '/import.legacy.php';
require_once JPATH_LIBRARIES . '/cms.php';
require_once JPATH_CONFIGURATION . '/configuration.php';
class Importdata extends JApplicationCli
{
//...
}
JApplicationCli::getInstance('Importdata')->execute();
Ошибка исчерпания памяти происходит в / joomla / database / driver /mysqli.php в строке 887 (mysqli_fetch_object) только тогда, когда Joomla находится в режиме отладки. Я работаю с PHP 7.1