Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 16.05.2008, 10:48   #1
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию Extension Manager не работает

Никак не могу заставить Extension Manager работать - не могу загрузить никакие extensions.

Когда я пытаюсь импортировать extension, мне выводится:
Цитата:
Error: The extension MD5 sum could not be fetched from extensions.md5. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.
Обновляю лист зеркал, пишет:
Цитата:
The mirror list was not updated, it could not be fetched from http://repositories.typo3.org/mirrors.xml.gz. [^] Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.
Тогда я пытаюсь вручную загрузить файл с локального компьютера:
Цитата:
Warning: gzuncompress(): data error in ../typo3/mod/tools/em/class.em_terconnection.php on line 152
Extension ManagerWrong file format. No data recognized, Error: MD5 mismatch. Maybe the extension file was downloaded and saved as a text file by the browser and thereby corrupted!? (Always select "All" filetype when saving extensions)
allow_url_fopen у меня on
CURL - enabled в Install tool.
Memory_limit = 64M в php.ini

У меня Typo3 версия 4.1.5, php - 4.4.0

Что делать ума не приложу? Думал перейти на Typo3 4.2, но там вроде PHP 5 нужно.
Искал в интернете, но что-то ни один рецепт мне не подошел. Перейти на другой сервер я не могу, надо с этим работать. Может как-то можно тест какой-нибудь запустить, чтобы понять, что происходит?
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 11:15   #2
pomotom
Senior Member
 
Регистрация: 09.12.2007
Сообщений: 281
По умолчанию

1. У вас gzip в php работает?
2. если ничего не помогает - ставите TYPO3 локально, устанавливаете расширение, заливаете его папку на сервер, устанавливаете.
pomotom вне форума   Ответить с цитированием
Старый 16.05.2008, 11:28   #3
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

1. Вообще должен. Честно сказать, не знаю, как можно проверить.

2. Идея понятна. Вечером можно будет попробовать. Но все-таки может есть какой-то вариант как-то протестировать появляющиеся ошибки? А то уж больно неохота связываться с переустановкой TYPO3 на компьютер.

Последний раз редактировалось Игорь Ф.; 16.05.2008 в 13:05
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 12:28   #4
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Я уже решил глубже покопать, а то вообще никаких идей.
Ошибка при попытке ручной загрузки идет отсюда (файл class.em_terconnection.php):

Цитата:
00148 function decodeExchangeData($str) {
00149 $parts = explode(':',$str,3);
00150 if ($parts[1]=='gzcompress') {
00151 if (function_exists('gzuncompress')) {
00152 $parts[2] = gzuncompress($parts[2]);
00153 } else return 'Decoding Error: No decompressor available for compressed content. gzcompress()/gzuncompress() functions are not available!';
00154 }
00155 if (md5($parts[2]) == $parts[0]) {
00156 $output = unserialize($parts[2]);
00157 if (is_array($output)) {
00158 return array($output,'');
00159 } else return 'Error: Content could not be unserialized to an array. Strange (since MD5 hashes match!)';
00160 } else return 'Error: MD5 mismatch. Maybe the extension file was downloaded and saved as a text file by the browser and thereby corrupted!? (Always select "All" filetype when saving extensions)';00161 }
Собственно есть проблема с функцией gzuncompress (пишет data error) или же разбивкой $str ($parts = explode(':',$str,3). Отсюда и конечная ошибка.

Есть какие-то идеи?
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 13:24   #5
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Начал разбираться с остальными ошибками.
Единственное место с ошибкой при перезагрузке зеркал находится в файле class.em_index.php:

function fetchMetaData($metaType) {
global $TYPO3_CONF_VARS;
switch($metaType) {
case 'mirrors':
$mfile = t3lib_div::tempnam('mirrors');
$mirrorsFile = t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL']);
if($mirrorsFile===false) {
t3lib_div::unlink_tempfile($mfile);
$content = '<p>The mirror list was not updated, it could not be fetched from '.$this->MOD_SETTINGS['mirrorListURL'].'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
} else {
t3lib_div::writeFile($mfile, $mirrorsFile);
$mirrors = implode('',gzfile($mfile));
t3lib_div::unlink_tempfile($mfile);

$mirrors = $this->xmlhandler->parseMirrorsXML($mirrors);
if(is_array($mirrors) && count($mirrors)) {
t3lib_BEfunc::getModuleData($this->MOD_MENU, array('extMirrors' => serialize($mirrors)), $this->MCONF['name'], '', 'extMirrors');
$this->MOD_SETTINGS['extMirrors'] = serialize($mirrors);
$content = '<p>The mirror list has been updated and now contains '.count($mirrors).' entries.</p>';
}
else {
$content = '<p>'.$mirrors.'<br />The mirror list was not updated as it contained no entries.</p>';
}
}
...

Понятно, что ошибка идет из-за ошибки в $mirrorsFile (===false),
а $mirrorsFile - это функция t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL']).

Значит какая-то проблема с getURL. Связки с проблемой ручной загрузки пока не обнаружил.

Последний раз редактировалось Игорь Ф.; 16.05.2008 в 13:39
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 14:12   #6
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Ну, и последняя (первая) ошибка, которая непосредственно возникает при подгрузке extensions, ведет к тому же файлу class.em_index.php. Фрагмент непосредственно после предыдущего (в функции fetchMetaData($metaType)):

case 'extensions':
$this->fetchMetaData('mirrors'); // if we fetch the extensions anyway, we can as well keep this up-to-date

$mirror = $this->getMirrorURL();
$extfile = $mirror.'extensions.xml.gz';
$extmd5 = t3lib_div::getURL($mirror.'extensions.md5');
if(is_file(PATH_site.'typo3temp/extensions.xml.gz')) $localmd5 = md5_file(PATH_site.'typo3temp/extensions.xml.gz');

if($extmd5 === false) {
$content .= '<p>Error:
The extension MD5 sum could not be fetched from '.$mirror.'extensions.md5. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';

} elseif($extmd5 == $localmd5) {
$content .= '<p>The extension list has not changed remotely, it has thus not been fetched.</p>';
} else {
$extXML = t3lib_div::getURL($extfile);
if($extXML === false) {
$content .= '<p>Error: The extension list could not be fetched from '.$extfile.'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
} else {
t3lib_div::writeFile(PATH_site.'typo3temp/extensions.xml.gz', $extXML);
$content .= $this->xmlhandler->parseExtensionsXML(PATH_site.'typo3temp/extensions.xml.gz');
}
}
break;
}


Соответственно проблема возникает из-за ошибки в $extmd5, которая явлется функцией t3lib_div::getURL($mirror.'extensions.md5'), где $mirror = $this->getMirrorURL()

В общем, опять существует некая проблема с функцией getURL из файла class.t3lib_div.php
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 14:19   #7
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Может кто знает, подскажите, пожалуйста, что обозначают переменные:
$this->MOD_SETTINGS['mirrorListURL']
$this->getMirrorURL()

Я, по-моему, чересчур углубился, а толку никакого.
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 15:14   #8
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

$this->MOD_SETTINGS['mirrorListURL'] = $TYPO3_CONF_VARS['EXT']['em_mirrorListURL']

А для $this->getMirrorURL() целая функция есть.

В общем, не знаю, где копать.
У меня в ЕМ никаких зеркал не устанавивается, только стоит ссылка на http://repositories.typo3.org/mirrors.xml.gz.

Надо бы какую-то проверку сделать, но как?
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 16:34   #9
Игорь Ф.
Продвинутый
 
Регистрация: 16.05.2008
Сообщений: 68
По умолчанию

Цитата:
$this->MOD_SETTINGS['mirrorListURL'] = $TYPO3_CONF_VARS['EXT']['em_mirrorListURL']
Посмотрел в backende $TYPO3_CONF_VARS['EXT']['em_mirrorListURL'] = http://repositories.typo3.org/mirrors.xml.gz
Игорь Ф. вне форума   Ответить с цитированием
Старый 16.05.2008, 19:48   #10
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

1) Проверить установлен ли curl
2) Проверить доступен ли на запись каталог typo3temp
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трабл с загрузкой *.t3x в Extension Manager Raven2000 Общие вопросы 6 08.08.2007 18:15
Что за порнографию сделали с Extension Manager в версии 4.1? Guinness Общие вопросы 4 28.03.2007 04:35
Extension Manager не отображается Хороший Общие вопросы 1 16.08.2006 13:29
Extension Manager: nick Установка 1 08.09.2005 11:38
Problem with Extension Manager. Dmi3 Общие вопросы 2 27.04.2005 14:44


Часовой пояс GMT +4, время: 11:46.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория