Статьи
PHP 8.5: Все константы `MHASH_*` объявлены устаревшими
В PHP 8.5 все константы MHASH_* объявлены устаревшими. Узнайте, почему это важно для безопасности и совместимости вашего кода, и как подготовиться к переходу на современное API hash.PHP 8.5: Вывод из обработчиков буфера вывода объявлен устаревшим
Начиная с PHP 8.5 вывод из обработчиков буфера вывода объявлен устаревшим. При обнаружении вывода из обработчика PHP сгенерирует предупреждение `E_DEPRECATED`, хотя сам вывод по-прежнему будет подавлен. В PHP 9.0 это приведёт к фатальной ошибке (`Fatal Error`), что прервёт выполнение скрипта.PHP 8.5: Функция `socket_set_timeout` объявлена устаревшей
В PHP 8.5 функция `socket_set_timeout` объявлена устаревшей. Полное описание замены на `stream_set_timeout`: синтаксис, параметры и обратная совместимость.PHP 8.5: Функция `xml_parser_free` объявлена устаревшей
С версии PHP 8.0 вызов `xml_parser_free()` перестал влиять на работу парсера, а в PHP 8.5 функция официально помечена как устаревшая.PHP 8.5: Функции `curl_close` и `curl_share_close` устарели
Если ваши логи в PHP 8.5 заполонили предупреждения об устаревании `curl_close()` — не игнорируйте их. Эти функции действительно стали бесполезными, и их вызов теперь лишь шум. В PHP 8.0 cURL-дескрипторы превратились в объекты, а в PHP 8.5 от пустых функций окончательно решили избавиться. Разбираемся, что это значит для вашего кода.PHP 8.5: Функция mysqli_execute объявлена устаревшей
В PHP 8.5 функция `mysqli_execute` объявлена устаревшей. Узнайте, как правильно заменить её на `mysqli_stmt_execute` и обеспечить совместимость кода с будущими версиями PHP.PHP 8.5: Отказ от использования нестандартных имён приведения типов
В PHP 8.5 типы `(boolean)`, `(double)`, `(integer)` и `(binary)` объявлены устаревшими: при использовании этих типов теперь выводятся предупреждения `E_DEPRECATED`. Эти альтернативные имена использовались параллельно с каноническими `(bool)`, `(float)`, `(int)` и `(string)`, но в PHP 9.0 они будут удалены. Рассмотрим, почему принято такое решение, как это затронет ваш код и как подготовиться к переходу.PHP 8.5: Новая константа PHP_BUILD_DATE
В PHP 8.5 появилась константа `PHP_BUILD_DATE`, которая хранит дату и время сборки PHP-бинарного файла. Ранее эту информацию можно было получить только через `phpinfo()`, что было неудобно из-за необходимости парсить вывод функции. Теперь данные доступны напрямую в удобном формате.PHP 8.5: Новая константа PHP_BUILD_PROVIDER
В PHP 8.5 появилась новая глобальная константа `PHP_BUILD_PROVIDER`, отображающая информацию о поставщике сборки PHP. Она получает значение из переменной окружения, заданной при компиляции, что позволяет разработчикам получать контекстные данные о сборке приложения. Ранее эта информация была доступна только через вывод `phpinfo()`, теперь её можно использовать непосредственно в коде.PHP 8.5: Новые функции `get_exception_handler` и `get_error_handler`
В PHP 8.5 появились две важные функции для работы с обработчиками ошибок и исключений — `get_error_handler` и `get_exception_handler`. Эти нововведения решают проблему отсутствия прямого доступа к информации о текущих обработчиках, ранее требовавшая использования обходных решений.PHP 8.5: Поддержка трассировки стека для фатальных ошибок PHP
В PHP 8.5 появилась функция трассировки стека для фатальных ошибок, упрощающая процесс отладки приложений. Теперь разработчики могут видеть полный путь выполнения кода до момента возникновения критической ошибки, что существенно ускоряет поиск и устранение проблем. В статье рассматривается новая INI-директива `fatal_error_backtraces`, ограничения и взаимодействие с существующими инструментами обработки ошибок.PHP 8.5: новая функция locale_is_right_to_left и Locale::isRightToLeft
В PHP 8.5 появилось обновление для работы с многоязычными приложениями: функция `locale_is_right_to_left` и метод `Locale::isRightToLeft`, позволяющие разработчикам автоматически определять языки с написанием справа налево, включая арабский и иврит. Эти инструменты значительно упрощают локализацию приложений и обеспечивают корректное отображение текста на языках с RTL написанием письма.PHP 8.5: CLI: php --ini=diff отображает нестандартные INI директивы
Отладка конфигурации PHP стала проще: в PHP 8.5 появилась команда `php --ini=diff`. Она одним вызовом показывает все изменённые INI-настройки, избавляя от ручного сравнения конфигов или поиска в `phpinfo()`.PHP 8.5: Intl: новый класс IntlListFormatter
Новый классIntlListFormatter в PHP 8.5 упрощает форматирование списков на разных языках. Синтаксис, примеры и таблицы локализаций внутри.PHP 8.5: новая Curl-функция curl_multi_get_handles — как она работает
В PHP 8.5 расширение cURL получило улучшение, которое делает работу с многопоточными запросами проще. Функцияcurl_multi_get_handles позволяет напрямую получить список всех добавленных CurlHandle, чего раньше катастрофически не хватало.PHP 8.5: Новая INI-директива max_memory_limit
В PHP 8.5 разработчики получили новый инструмент управления ограничениями памяти — INI-директиваmax_memory_limit. Она позволяет задать верхний предел, выше которого значение memory_limit задать невозможно. Это упрощает контроль ресурсов в продакшене и предотвращает неконтролируемый рост потребления памяти.