Что не так с PHP5.3?
Я столкнулся с множеством хостинговых компаний, которые не хотят обновляться до PHP5.3. Большинство из них объяснили мне, что в PHP5.3 есть много ошибок, поэтому они предпочитают хранить его в версии 5.2.
Что не так с v5.3? это правда, что они сказали - много ошибок? Я не сталкивался с ошибками на моем локальном сервере!
Или они просто не хотят обновляться!?
Ответы
Ответ 1
- IIRC кэши байт-кода не были готовы и адаптированы для новых изменений ABI и Zend_core, когда был выпущен самый первый PHP 5.3.0. Это тем временем решено, но подозрения падают.
- Тогда на самом деле слишком мало пользовательских запросов, так как еще не все зависит от функций 5.3.
- Существует несколько разрывов совместимости (были некоторые проблемы с WP и Drupal, но большая часть проблем преувеличена).
И поэтому большинство общедоступных хостеров не имеют стимулов для обновления существующих серверов.
Ответ 2
Конечно, это не единственная причина, но это (небольшое) изменение создало много проблем в CMS, таких как drupal:
Примечание: на вызов функции - только по функции определения. Определения функций достаточно, чтобы правильно пройти аргумент по ссылке. Начиная с PHP 5.3.0 вы получите предупреждение о том, что "call-time-pass-by-reference" устарело, когда вы используете и в foo (& $a);.
Цитата из PHP: переход по ссылке
Итак, вероятно, первые хостинговые компании, переходящие на php 5.3, были затоплены запросами поддержки от небольших (и неопытных) веб-менеджеров.
Следовательно, я полагаю, что другие компании решили подождать более стабильной ситуации...
Ответ 3
Это не php 5.3, что багги, но он укажет на неправильные методы в коде приложения, выплевывая уведомления и предупреждения об отказе.
Поэтому, когда используются старые библиотеки php, вы, вероятно, увидите много сообщений об ошибках, которые могут быть восприняты как ошибки.
PHP 5.3.0 был выпущен 30 июня 2009 года, а 5.2 больше не поддерживается официальной php.net. Если ваша хостинговая компания не повышается, время переключения.