PHP 5.3+ и TYPO3 до 4.3, deprecated functions

PHP 5.3 обещает значительный прирост в скорости выполнения PHP-приложений. Увеличение скорости для TYPO3 по прогнозам должно составить порядка 30%.
Переходить на данную ветку PHP еще рано, и пока связано с большим количеством нехороших сюрпризов и неожиданностей. Хотя 5.3.0 и объявлена стабильной версией, в разработке уже находится кандидат на релиз 5.3.1.

С выходом более менее рабочей версии PHP 5.3, чем грозит переход на версию 5.3+?

TYPO3 работоспособна в среде PHP 5.3, однако есть несколько неприятных моментов, которые разработчики TYPO3 пока не спешат исправлять в данной версии. TYPO3 версии до 4.3 использует функции ereg_* которые объявлены устаревшими в новой версии PHP. Так же введен новый режим оповещения об ошибках E_DEPRECATED, и теперь установка отчета об ошибках в E_ALL переводит безобидные предупреждения о использовании устаревших функций, в ранг ошибок. В результате этого Ваш лог ошибок распухает от огромного количества сообщений, а если вдруг стоит отображение ошибок, то и к неработоспособности сайта.

Установка error_reporting в php.ini не дает нужного эффекта, так как TYPO3 имеет свое мнение на счет этих установок. Причем установка значение error_reporting в TYPO3 не определено нигде отдельно, а раскидано по множеству файлов и даже расширений. Что бы не изменять множество файлов и избавиться все же от сообщений в логах, нужно сделать следующее:

Запретить переопределение error_reporting, отключив соответсвующую функцию в php.ini:

1
disable_functions = error_reporting

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

1
error_reporting  =  E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING

Если на сервере несколько сред PHP, а том числе для разработки, то лучше устанавливать данные параметры локально для каждой среды в настройка Apache или .htaccess по мере необходимости.

Share and Enjoy:
  • Print this article!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • TwitThis

Leave a Reply