2015-08-19 3 views
0

Я пытаюсь достичь заголовков ответов Apache в нашем приложении CakePHP 3.Заголовки ответов Cakephp

apache_response_headers() и headers_list() дает эти данные:

response headers:Array 
(
    [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 
) 
headers list:Array 
(
    [0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT 
    [1] => Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
    [2] => Pragma: no-cache 
) 

Когда я просматриваю заголовки ответа из браузера, кроме того, я вижу эти значения: «Content-Encoding, содержание длины, типа содержимого, дата, мс-автор -via, server, status, vary, through, x-original-content-length, x-powered-by ". У объекта ответа Cakephp есть метод получения всех заголовков? https://github.com/cakephp/cakephp/blob/3.0.11/src/Network/Response.php

Как я могу получить все заголовки ответов?

ответ

0

Если информация не используется при использовании ванильных команд PHP, Cake не сможет сделать ничего лучше.

Я считаю, что ваша проблема заключается в том, что output_buffering включен в php.ini. Это заставит ответ задерживаться до выхода сценария, и вы, очевидно, не будете иметь полные заголовки ответов в PHP во время выполнения. Вы можете отключить буферизацию вывода или очистить выходной файл перед проверкой заголовков.

1

Вы попробовали эту функцию?

$this->response->header()

Эта функция позволяет установить заголовки и он всегда будет возвращать вам список заголовка определен. И даже если вы не придаете значения этой функции, она просто вернет вам список заголовков.

Смежные вопросы