Заголовок управления кэша, измененный сессией PHP?

(Прежде всего, на всякий случай, прервите любую перебазировку, все еще продолжающуюся с git rebase --abort)


Вы единственный, кто работает в этой ветви функций? (Полагаю, что так и будет, если предположить следующее)

PR уже принят / объединен с мастером?

Если нет , то это очень очень неутешительная ситуация. (Это может быть то, на что Люкс намекал в комментариях)

Сначала найдите хеш коммита, который вам нужно восстановить (z в вашем примере). Для этого вы можете проверить reflog вашей ветки (или, может быть, просто выбрать его из последних выводимых команд, если они доступны).

Затем восстановите вашу локальную ветвь B до старой ссылки (до перебазирования) и снова отправьте ее на удаленный (с --force, так как git будет жаловаться, что это не линейная история).

git branch -f B 
git push -f origin B

Теперь вы можете повторить ребаз и попытаться выяснить, куда он попал в последний раз.

11
задан Kieran Hall 25 March 2009 в 13:38
поделиться

2 ответа

Из документации Zend_Controller разделите 10.9. Объект Ответа

setHeader ($name, $value, $replace = ложь) используется для установки отдельного заголовка. По умолчанию это не заменяет существующие заголовки того же имени в объекте; однако, установка $replace к истинному вынудит это сделать так.

Проблема, которую Вы имеете, является Вашим, max-age=3600 добавляется к заголовку управления кэша, в противоположность замене его. Попытайтесь установить параметр $replace на истинный.

13
ответ дан 3 December 2019 в 01:29
поделиться

Вы правы путем предположения, что это поведение подключено к механизму сессии в PHP. Существует параметр конфигурации session.cache_limiter это управляет кэширующимися HTTP-заголовками, которые будут отправлены с ответом. Настройка по умолчанию здесь nocache который отправляет

Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache

Вы перезаписываете все эти заголовки в Вашем контроллере, кроме того, Cache-Control- заголовок (Вы только добавляете Ваш max-age=3600 установка здесь).

Возможные решения:

  1. изменение конфигурации PHP (session.cache_limiter) к, например. none - но это могло представить проблемы другим приложениям PHP
  2. установите session.cache_limiter на каждом использовании запроса session_cache_limiter()
  3. перезапишите полное Cache-Control- заголовок в Вашем контроллере с указанной строкой

Возможные значения для session.cache_limiter и session_cache_limiter() :

ничего: никакой заголовок не будет отправлен

nocache:

Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

частный:

Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=10800, pre-check=10800

private_no_expire:

Cache-Control: private, max-age=10800, pre-check=10800

общественность:

Expires: pageload + 3 hours
Cache-Control: public, max-age=10800
27
ответ дан 3 December 2019 в 01:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: