【问题标题】:Get headers from Symfony\Component\HttpFoundation\Response从 Symfony\Component\HttpFoundation\Response 获取标头
【发布时间】:2015-07-07 15:45:00
【问题描述】:

出于调试目的,我想记录响应对象中的所有标头,就像在 filters.php 中一样:

App::after(function($request, $response) {
  if(App::environment() !== 'dev') { return; }

  error_log(print_r($response->getHeadersPleaaase()));

$response 通常是 Illuminate\Http\JsonResponse,我找不到任何明显的方法来获取标题。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    Headers 是公共属性:

    error_log(print_r($response->headers));
    

    【讨论】:

      【解决方案2】:
      ini_set("log_errors", 1);
      ini_set("error_log", __DIR__.'/../app/logs/prod.log');//ini_set("error_log", your path and file);
      error_log( 'BEGIN===========>' );
      error_log( $request );
      error_log( $response );
      error_log( '<========END' );
      

      一个使用(Symfony2)的例子

      app.php

      <?php
      
      use Symfony\Component\ClassLoader\ApcClassLoader;
      use Symfony\Component\HttpFoundation\Request;
      
      $loader = require_once __DIR__.'/../app/bootstrap.php.cache';
      
      // Use APC for autoloading to improve performance.
      // Change 'sf2' to a unique prefix in order to prevent cache key conflicts
      // with other applications also using APC.
      /*
      $apcLoader = new ApcClassLoader('sf2', $loader);
      $loader->unregister();
      $apcLoader->register(true);
      */
      
      require_once __DIR__.'/../app/AppKernel.php';
      //require_once __DIR__.'/../app/AppCache.php';
      
      $kernel = new AppKernel('prod', false);
      $kernel->loadClassCache();
      //$kernel = new AppCache($kernel);
      
      // When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
      //Request::enableHttpMethodParameterOverride();
      $request = Request::createFromGlobals();
      $response = $kernel->handle($request);
      
      ini_set("log_errors", 1);
      ini_set("error_log", __DIR__.'/../app/logs/prod.log');
      error_log( 'BEGIN===========>' );
      error_log( $request );
      error_log( $response );
      error_log( '<========END' );
      
      $response->send();
      $kernel->terminate($request, $response);
      

      【讨论】:

        猜你喜欢
        • 2017-09-21
        • 1970-01-01
        • 1970-01-01
        • 2017-06-06
        • 1970-01-01
        • 1970-01-01
        • 2021-01-13
        • 2021-09-27
        • 1970-01-01
        相关资源
        最近更新 更多