#php #parse-url
#php #синтаксический анализ-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
)
ie. Я не получаю имя хоста на промежуточном сервере.
Примечание: версия PHP на промежуточном сервере — 5.3.3. Может кто-нибудь сообщить мне, почему это происходит.
Большое спасибо,
M.
Комментарии:
1. Версия PHP больше
5.4.7
?
Ответ №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:// ). Также понизьте уровень вашей среды разработки до версии, работающей в промежуточной и рабочей среде.
Комментарии:
1. Спасибо, Pred, есть ли какой-нибудь способ избавиться от этой проблемы без изменения версии php при промежуточном сервере?