Parse_url не работает правильно на промежуточном сервере

Я столкнулся с проблемой с функцией parse_url. если я использую parse_url в моей локальной системе, я получаю следующий вывод. URL для разбора используется: www.youtube.com/embed/u-j1nx_HY5o

Array
(
    [host] => www.youtube.com
    [path] => /embed/u-j1nx_HY5o
) 

Но я разбираю тот же URL при постановке, я получил следующий вывод.

Array(
    [path] => //www.youtube.com/embed/u-j1nx_HY5o
)

то есть. Я не получаю имя хоста на промежуточном сервере.

Примечание. Версия PHP на промежуточном сервере - 5.3.3. Может кто-нибудь, дайте мне знать, почему это происходит.

Большое спасибо,

М.

1 ответ

Решение

Была ошибка до 5.4.7: 5.4.7 Fixed host recognition when scheme is omitted and a leading component separator is present.

Убедитесь, что версия вашего промежуточного сервера ниже 5.4.7.

В качестве дополнительного совета: всегда используйте одну и ту же версию и конфигурацию (кроме параметров отчетов об ошибках) во всех ваших средах.

РЕДАКТИРОВАТЬ

Если вы не можете обновить промежуточную среду, добавление схемы к URL-адресу (например, http://) может помочь. Также понизьте вашу среду разработки до версии, работающей в промежуточной и производственной среде.

Другие вопросы по тегам