Migrating from PHP 5.5.x to PHP 5.6.x
Содержание
- Backward incompatible changes
- New features
- Deprecated features in PHP 5.6.x
- Changed functions
- New functions
- OpenSSL changes in PHP 5.6.x
- Other changes to extensions
- New global constants
Most improvements in PHP 5.6.x have no impact on existing code. There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.
Смотрите также руководство по миграции для версий PHP 5.0.x, 5.1.x, 5.2.x, 5.3.x, 5.4.x and 5.5.x.
- История PHP и смежных проектов
- Migrating from PHP 7.0.x to PHP 7.1.x
- Migrating from PHP 5.6.x to PHP 7.0.x
- Migrating from PHP 5.5.x to PHP 5.6.x
- Migrating from PHP 5.4.x to PHP 5.5.x
- Переход с PHP 5.3.x на PHP 5.4.x
- Переход c PHP 5.2.x на PHP 5.3.x
- Переход с PHP 5.1.x на PHP 5.2.x
- Переход с PHP 5.0.x на PHP 5.1.x
- Переход с PHP 4 на PHP 5.0.x
- Classes and Objects (PHP 4)
- Отладка в PHP
- Опции конфигурации
- Директивы php.ini
- Список/классификация расширений
- Список псевдонимов функций
- Список зарезервированных слов
- Список типов ресурсов
- Список доступных фильтров
- Список поддерживаемых транспортных протоколов
- Таблица сравнения типов в PHP
- Список меток (tokens) парсера
- Руководство по именованию
- Об этом руководстве
- Creative Commons Attribution 3.0
- Алфавитный список
- Список изменений
Коментарии
Plese notice that default POST data parsing has changed.
php 5.5 with "foo=bar&baz" received
[
"foo" => "bar"
]
and php 5.6 with same input receives:
[
"foo" => "bar",
"baz" => ""
]
Tested via curl --data 'foo=bar&baz' http://localhost
It can create a problem when earlier json came without correct content-type header.
e.g. {"foo":"bar"} in php 5.5 $_POST was
[
]
and in php 5.6 will be
[
"{\"foo\":\"\bar\"}" => ""
]
Tested via curl --data '{"foo":"bar"}' http://localhost