2016-09-13 5 views
3

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

Parse error: syntax error, unexpected '=' in /html/typo3/typo3_src-7.6.10/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php on line 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']; 
     } 
    } 
} 

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

ответ

2

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

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

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

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

+0

Да! Бернд Вильк, я понял, что это трюк. Я должен был сделать это вручную, потому что не было доступа к CMS. Спасибо за простую инструкцию для довольно легкого исправления. – dnp76

0

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

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

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

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