PDA

Просмотр полной версии : Обновилась до 4.2.9 - проблема с mysql(InnoDB)


Olga25
06.10.2009, 11:46
Поставила formhandler_0.9.3 - расширение для организации обратной связи (отправка почтовых сообщений с сайта). При отправке сообщения возникает ошибка:
Fatal error: Non-static method RemoveXSS::RemoveXSS() cannot be called statically, assuming $this from incompatible context in /opt/lampp/htdocs/kamsan.my/www/t3lib/class.t3lib_div.php on line 393
У меня typo3 4.2.6. Спросила в рассылке и мне рекомендовали обновиться до последней версии, там это исправлено. Обновила файлы, зашла в Install, сравнила, создала таблицы которые typo3 просил.
Но! В секции Table and field definitions should be updated у меня куча всего:
ALTER TABLE cache_hash ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_imagesizes ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE sys_log ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_pages ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_pagesection ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_typo3temp_log ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE cache_md5params ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE fe_session_data ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE fe_sessions ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_phash ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_fulltext ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_rel ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_words ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_section ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_grlist ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_stat_search ENGINE=InnoDB;
Current value: ENGINE=MyISAM
ALTER TABLE index_stat_word ENGINE=InnoDB;
Current value: ENGINE=MyISAM

Посмотрела в phpmyadmin в выборе типа таблиц InnoDB у меня нет.
В файле my.cnf :
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = /opt/lampp/var/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /opt/lampp/var/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 10M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

То есть, вроде бы innodb у меня есть.
В чем проблема? Помогите!

Olga25
06.10.2009, 12:18
Нашла что можно не обновляться (у меня typo3 4.2.6), а добавить в TS:
plugin.Tx_Formhandler.settings.predef.default.init Interceptors.1.class = Tx_Formhandler_Interceptor_Filtreatment
Но все равно интересно как корректно обновиться до последней версии с моей проблемой, все равно вопрос будет актуальным.

Manas
06.10.2009, 13:18
Возможно MySQL собран без поддержки InnoDB, еще на всякий случай посмотрите тот ли my.cnf "целяется", должно быть что-то типа

#ps -ax | grep mysql
.../bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf...

dmartynenko
06.10.2009, 13:28
В новых версиях рекомендуется выбирать тип InnoDB для этих таблиц для улучшения быстродействия TYPO3.

Но вам не обязательно эти обновления проводить - снимите птички возле этих пунктов. Даже если вы продолжите обновление, то ничего плохого не произойдет - так как за отсутствием в вашем mysql поддержки InnoDB эти инструкции ALTER будут просто проигнорированы.

Olga25
06.10.2009, 15:22
Где смотреть?
в /bin/sh - это двоичный файл