Переход с PHP 5.4.x на PHP 5.5.x
PHP Manual

Изменения ломающие обратную совместимость

Не смотря на то, что практически весь существующий код не заметит перехода, все же следует обратить внимание на некоторые изменения, ломающие обратную совместимость:

Прекращена поддержка Windows XP и 2003

Прекращена поддержка Windows XP и 2003. Сборки под Windows теперь требуют минимум Windows Vista.

Регистронезависимость теперь является зависимой от локали

Все регистронезависимые сравнения для функций, классов и имен констант теперь реализованы в независимой от локали манеде в соответствии с правилами ASCII. Это улучшает поддержку языков, использующих латинский алфавит с необычными правилами сравнения, например Турецкий и Азербаджанский.

Это изменение может вызвать проблемы в коде использующем регистронезависимое сравнение для не-ASCII символов в многобайтовых кодировках (включая UTF-8), такие как акцентированные символы в многих европейских языках. Если у вас в кодовой базе используются не английские, не ASCII символы, обратите особое внимание на это изменение перед миграцией промышленных сред на PHP 5.5.

Изменения pack() и unpack()

Функции pack() и unpack() были изменены так, что бы они стали более совместимы с Perl:

Написание обратно-совместимого кода использующего код формата "a" в функции unpack(), потребует использования функции version_compare(), иначе обратная совместимость поломается.

Пример:

<?php
// Старый код:
$data unpack('a5'$packed);

// Новый код:
if (version_compare(PHP_VERSION'5.5.0-dev''>=')) {
  
$data unpack('Z5'$packed);
} else {
  
$data unpack('a5'$packed);
}
?>

self, parent и static теперь всегда регистронезависимы

До PHP 5.5, были случаи, когда ключевые слова self, parent, и static обрабатывались регистрозависимо. Эта проблема была исправлена, и теперь эти слова всегда обрабатываются регистронезависимо: SELF::CONSTANT теперь всегда идентично self::CONSTANT.

Удалены GUID логотипов PHP

GUID (внутренние идентификаторы изображения) использовавшиеся ранее для вывода различных логотипов PHP теперь удалены. Также удалены функции, которые позволяли их получать. Удаленные функции:

Изменения внутреннего исполнения

Авторы расширений должны обрптить внимание, что функция zend_execute() более не может быть переопределена, и что некоторое количество изменений внесено в структуру execute_data и в работающие с ней функции и методы обработки байт-кода.

Большинство авторов расширений вряд ли будут затронуты, но те, кто пишет расширения сильно затрагивающие движек Zend должны ознакомиться с замечаниями по этому изменению.


Переход с PHP 5.4.x на PHP 5.5.x
PHP Manual