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

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

Ответ
 
Опции темы Опции просмотра
Старый 18.10.2011, 16:23   #1
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию Unable to create XML parser

При ручном запуске задания в планировщике постоянно вываливалось это сообщение:
Выполнение задачи "Обновить список расширений (em)" потерпело неудачу, сообщение об этом: tx_em_Parser_MirrorXmlPushParser: Unable to create XML parser.
Погуглил, пояндексил, порамблир, нашел только вот такой совет:
Цитата:
При попытке обновить список расширений из репозитория получил такую ошибку: tx_em_Parser_MirrorXmlPushParser: Unable to create XML parser.
Оказалось все просто, мой php был собран без xmlreader. Пересобрал, все заработало нормально.
зашел в админку хостинга (ру-центр), подключил этот самый xmlreader. Перезапустил вебсервер. Теперь при заходе в Планировщик вываливается сразу это:
Цитата:
Fatal error: tx_scheduler_Module::listTasks() [<a href='tx-scheduler-module.listtasks'>tx-scheduler-module.listtasks</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;tx_em_MirrorXmlException&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/.../typo3/typo3_src-4.5.0/typo3/sysext/scheduler/mod1/index.php on line 1153
Пошел снова в управление хостингом, выключил xmlreader, перезапустил веб сервер. Но вот эта последняя ошибка никуда не делась. Что бы это могло быть?

PS
Если закомментировать в указанном файле блок if c 1144 по 1156 строку:
PHP код:
                        // Check if the last run failed
                    
$failureOutput '';
                    if (!empty(
$schedulerRecord['lastexecution_failure'])) {
                            
// Try to get the stored exception object
                        
$exception unserialize($schedulerRecord['lastexecution_failure']);
                            
// If the exception could not be unserialized, issue a default error message
                        
if ($exception === FALSE) {
                            
$failureDetail $GLOBALS['LANG']->getLL('msg.executionFailureDefault');
                        } else {
                            
$failureDetail sprintf($GLOBALS['LANG']->getLL('msg.executionFailureReport'), $exception->getCode(), $exception->getMessage());
                        }
                        
$failureOutput ' <img ' t3lib_iconWorks::skinImg(t3lib_extMgm::extRelPath('scheduler'), 'res/gfx/status_failure.png') . ' alt="' htmlspecialchars($GLOBALS['LANG']->getLL('status.failure')) . '" title="' htmlspecialchars($failureDetail) . '" />';
                    } 
то хотя бы возвращается на место нормальное отображение аддона

ПыСыСы
Оказывается чего тролько прежде не стояло на хостинге: и TYPO3, и CS-Cart, и Джумлу с Магентой пробовали. В результате к PHP подружается такой список: ctype, curl, dom, filter, ftp, gd, hash, iconv, json, mcrypt, mhash, mysql, mysqli, pdo, pdo_mysql, session, simplexml, soap, zip, zlib
а из модулей: auth_module , CGI, realip_module , rewrite_module , autoindex_module , env_module , expires_module , gzip_module , limitipconn_module
Вот такая кашица, а я то порой негодовал - куда память девается??? Буду потихонечку по очереди отключать ненужное, проверяя, не приведет ли отключение к неприятностям. Но вот этот опыт с xmlreader всё же настораживает... включил-отключил - и трындец планировщику ))) Может подскажет кто, что из этого списка точно не требуется для TYPO3?

Последний раз редактировалось Alex Podusov; 18.10.2011 в 18:24
Alex Podusov вне форума   Ответить с цитированием
Старый 18.10.2011, 20:21   #2
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Может все дело в том, что до подключения xmlreader в serialize(lastexecution) сохранилось какой-то объект, который как раз и является "incomplete object".

Вообще по мне так странная практика сохранять серилизованный объект, массив параметров еще понимаю - но (бинарный) объект? Верный путь к ошибкам при обновлении php или его модулей.

PS: А список подключаемых модулей у вас довольно типичен, и даже мал. Например отсутствует часто используемый mbstring.
dmartynenko вне форума   Ответить с цитированием
Старый 19.10.2011, 19:34   #3
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

У меня на nic.ru на тарифе 200 список в php.ini такой:
PHP код:
extension=curl.so
extension
=filter.so
extension
=gd_ext.so
extension
=json.so
extension
=mbstring.so
extension
=mysql.so
extension
=session.so
extension
=soap.so
extension
=zlib.so
extension
=imagick.so
extension
=simplexml.so
Аутентификация RSA
extension
=openssl.so
extension
=xmlreader.so
extension
=ftp.so
extension
=dom.so 
Все вроде без ошибок работает...
Андрей Аксенов вне форума   Ответить с цитированием
Старый 20.10.2011, 00:26   #4
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

тоже 200 тариф. ну да, от модулей тут действительно проблема может быть лишь одна - отъедание доли памяти. А вот перед установкой xmlreader действительно запускал обновление списка расширений, которое завершилось неудачей. Ведь надо же, всегда перед какими либо серьезными манипуляциями бэкапил базу и файлы, а тут промахнулся, и на те ) благо только начал переделывать сайт, немного наваял. особо копаться времени нет, проще будет снова с нуля переставить за день. Вспомню молодость, когда день без переустановки винды считался прожитым зря )))

ЗЫ
Короче вот, пошел в phpmyadmin и в таблице tx_scheduler_task удалил строку с незавершенной задачей. Все пришло в норму
Alex Podusov вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML Ext typik Общие вопросы 3 19.10.2009 20:39
Tmailform xml HardRock Общие вопросы 1 08.08.2008 22:02
XML is clean =( R.E.S.T.Art Общие вопросы 8 29.12.2006 16:37
как за место html страницы получить xml -=STYDENT=- TYPO3: SEO и статистика посещений 2 12.07.2006 11:13
Зачем нужен TypoScript MVH Общие вопросы 17 14.04.2005 22:36


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


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

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