Не смотря на то, что практически весь существующий код не заметит перехода, все же следует обратить внимание на некоторые изменения, ломающие обратную совместимость:
Прекращена поддержка Windows XP и 2003. Сборки под Windows теперь требуют минимум Windows Vista.
Все регистронезависимые сравнения для функций, классов и имен констант теперь реализованы в независимой от локали манеде в соответствии с правилами ASCII. Это улучшает поддержку языков, использующих латинский алфавит с необычными правилами сравнения, например Турецкий и Азербаджанский.
Это изменение может вызвать проблемы в коде использующем регистронезависимое сравнение для не-ASCII символов в многобайтовых кодировках (включая UTF-8), такие как акцентированные символы в многих европейских языках. Если у вас в кодовой базе используются не английские, не ASCII символы, обратите особое внимание на это изменение перед миграцией промышленных сред на PHP 5.5.
Функции 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);
}
?>
До PHP 5.5, были случаи, когда ключевые слова self, parent, и static обрабатывались регистрозависимо. Эта проблема была исправлена, и теперь эти слова всегда обрабатываются регистронезависимо: SELF::CONSTANT теперь всегда идентично self::CONSTANT.
GUID (внутренние идентификаторы изображения) использовавшиеся ранее для вывода различных логотипов PHP теперь удалены. Также удалены функции, которые позволяли их получать. Удаленные функции:
Авторы расширений должны обрптить внимание, что функция zend_execute() более не может быть переопределена, и что некоторое количество изменений внесено в структуру execute_data и в работающие с ней функции и методы обработки байт-кода.
Большинство авторов расширений вряд ли будут затронуты, но те, кто пишет расширения сильно затрагивающие движек Zend должны ознакомиться с замечаниями по этому изменению.