Как и другие ответы, уже предлагаемые, ваш вопрос исходит из аргумента $arg_separator
в http_build_query()
.
Точнее, так как вы не заполнит его, функция использует значение по умолчанию , который зависит от конфигурации сервера, как заявлено http://php.net/manual/en/function.http-build-query.php:
arg_separator
arg_separator.output используется для отдельные аргументы, но можно переопределить, указав этот параметр.
И после arg_separator.output
ссылки вы получаете:
arg_separator.output струнного
Сепаратор используется в PHP генерируется URL, для разделения аргументов.
Таким образом, кажется, что ваши разные серверы имеют разные конфигурации, следовательно, разные результаты.
Чтобы избавиться от того, что вы можете либо:
- изменение конфигурации сервера, на котором он не соответствует предпочтительный разделитель
- или всегда включают
$arg_separator
в вашем http_build_query()
BTW, пожалуйста, обратите внимание:
только первый результат хороший
не соответствует действительности: использование &
хорошо подходит для большинства ситуаций и всегда понимается и правильно обрабатывается.
Не могли бы вы предоставить дополнительную информацию о различиях между вашими серверами, такими как php-версия, ОС и т. Д.? –