Ошибка Typo3 произошла после установки расширения: Ошибка синтаксического анализа: синтаксическая ошибка


Я запускаю Typo3 7.6 и по глупости попробовал устаревшее расширение на своем сайте. Я получил одну ошибку, попытался удалить расширение, и это только ухудшило ситуацию. Теперь вся система разбивается сзади и спереди с этой ошибкой:

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный '=' в /html/typo3/typo3_src-7.6.10/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php в строке 1654

Не уверен, что он хочет, чтобы я сделал с этим информация.

Вот мой код в ExtensionManagementUtility.php в режиме онлайн 1654:

    /**
 * Execute ext_localconf.php files from extensions
 *
 * @return void
 */
protected static function loadSingleExtLocalconfFiles()
{
    // This is the main array meant to be manipulated in the ext_localconf.php files
    // In general it is recommended to not rely on it to be globally defined in that
    // scope but to use $GLOBALS['TYPO3_CONF_VARS'] instead.
    // Nevertheless we define it here as global for backwards compatibility.
    global $TYPO3_CONF_VARS;
    foreach ($GLOBALS['TYPO3_LOADED_EXT'] as $_EXTKEY => $extensionInformation) {
        if ((is_array($extensionInformation) || $extensionInformation instanceof \ArrayAccess) && isset($extensionInformation['ext_localconf.php'])) {
            // $_EXTKEY and $_EXTCONF are available in ext_localconf.php
            // and are explicitly set in cached file as well
            $_EXTCONF = isset($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY]) ? $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY] : null;
            require $extensionInformation['ext_localconf.php'];
        }
    }
}

Как мне выбраться из этой передряги?

Author: andreas, 2016-09-13

2 answers

Если вы просто хотите восстановить свою установку, вам необходимо деактивировать это новое расширение.

Вы можете попробовать сделать это в инструменте установки (просто позвоните в свой домен.tld/typo3/install/): в области "Важные действия" вы можете найти опцию Проверить наличие поврежденных расширений

Или вы делаете это вручную: отредактируйте typo3conf/PackageStates.php, найдите это расширение и измените состояние с active на inactive. затем очистите все кэши!

После этого вы можете удалить расширение.

 2
Author: Bernd Wilke πφ, 2016-09-13 07:06:57

Похоже, что эта проблема возникает из-за одного из включенных файлов, т.Е. конфигурации одного из ваших расширений. Я не понимаю, почему PHP тогда не отображает фактическое имя файла, но хорошо… давайте попробуем это исправить:

Чтобы получить имя файла, вставьте строку перед require… для его вывода:

echo $_EXTKEY, " ", $extensionInformation['ext_localconf.php'], "\n";
require $extensionInformation['ext_localconf.php'];

После перезагрузки вы должны увидеть список ключей расширения и имен файлов, причем последний из них является причиной проблемы.

 0
Author: Andreas Wolf, 2016-09-13 06:06:24