我有一个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();
代替:
JApplicationCli::getInstance('Importdata')->execute();
用途:
$app = JApplicationCli::getInstance('Importdata');
$app->set('debug', 0);
$app->execute();