Hacker News Digest

15 сентября 2026 г. в 20:53 • jakeasmith.com • ⭐ 330 • 💬 101

Original • HN

#debian#http-build-url#idna-convert#packagist#pecl-http#php#php-league#ubuntu#wordpress#wpml

My temporary PHP fix from 2014 has nearly 20M installs. Today I'm deprecating it

Двенадцать лет назад я написал 174-строчный PHP-полифил для функции http_build_url() как временное решение при переходе CMS AOL с PHP 5.2 на 5.3, когда расширение pecl_http было удалено. Опубликовав его на Packagist, не ожидал широкого распространения — но за годы он набрал почти 20 миллионов установок, включая более 400 тысяч в месяц, и стал частью зависимостей таких проектов, как WPML (используется на 1,5 млн сайтов WordPress), idna-convert и дистрибутивов Debian и Ubuntu.

В процессе использования выявились серьёзные баги, например, удаление всех букв «а» из пути при добавлении слеша в URL из-за некорректного обходного решения с добавлением и удалением символа. Несмотря на предложения новых мейнтейнеров и форков, я решил объявить пакет устаревшим: современные альтернативы вроде URI-библиотеки PHP League и встроенного стандартосоответствующего API в PHP 8.5 превосходят его по надёжности и безопасности. Поддержка устаревшего кода рискует создать уязвимости, особенно при передаче мейнтейнерства непроверенным лицам. Пакет останется доступным, но без исправлений — включая упомянутый баг — чтобы не вводить непредвиденных изменений в зависимости миллионов сайтов. Это был добросовестный временный патч, но время двигаться дальше. P.S. Сам AOL CMS так и не мигрировал с него — использовал до закрытия платформы около 2020 года.