Итак, в 2014 году вышло обновление расширения pecl_http, в котором больше нет функции http_build_url, да и вообще других функций тоже. но лично моя проблема была только в этой функции, поэтому рыть все остальные несовместимости я не стал. Changelog можно посмотреть тут. Как тут и написано, начиная с версии 2.x.x происходит полная несовместимость pecl_http v.1.x.x.
Решение довольно простое — замена это функции на чистую ее реализацию на PHP или же обратно-совместимый синоним, использующий новую версию pecl_http.
Для этого нужно скачать файл http_build_url.zip и подключить его где-нибудь перед использованием функции (при этом подключать файл можно безусловно, если функция http_build_url уже есть, то файл просто прочитается, но никаких функций не переопределит).
Ссылки:
- Весь набор: http_build_url.zip
- Имплементация на чистом PHP http_build_url() от “Fuel the fire”: http://fuelforthefire.ca/free/php/http_build_url/
- Расширение pecl_http: http://pecl.php.net/package-info.php?package=pecl_http
- Расширения (*.dll) PHP для windows (в том числе и pecl_http, только название другое “php_http”): http://downloads.php.net/pierre/