【问题标题】:What does it mean to run PHP in quiet mode?以安静模式运行 PHP 是什么意思?
【发布时间】:2011-04-25 19:26:52
【问题描述】:

您可以使用-q 命令行开关运行 PHP。手册只说:

安静模式。抑制 HTTP 标头 输出(仅限 CGI)。

这实际上意味着什么?

【问题讨论】:

    标签: php


    【解决方案1】:

    这只涉及针对 CGI SAPI 构建的 PHP 解释器。此版本在任何实际输出之前发送一些基本的 HTTP 标头:

    X-Powered-By: PHP/5.3.3-1ubuntu9.3
    Content-type: text/html
    
    "(echo) What I actually wanted to have"
    

    所以基本上-q 命令行标志可以防止任何header() 被写入标准输出。

    其目的是使用 php-cgi 二进制文件代替控制台脚本的 php CLI 变体。通常你会在这样的脚本中看到以下 shebang 来强制 php-cgi 表现得像 -cli 版本:

    #!/usr/bin/php-cgi -qC
    

    【讨论】:

      【解决方案2】:

      正如您所看到的-q key php 禁止发送标头(在输出中添加了一些新行以使其更具可读性):

      zerkms@l12 ~ $ cat file.php
      <?php
      
      header('Location: http://stackoverflow.com');
      
      echo 42;
      
      zerkms@l12 ~ $ php file.php
      Status: 302 Moved Temporarily
      X-Powered-By: PHP/5.2.17
      Location: http://stackoverflow.com
      Content-type: text/html
      
      42
      
      zerkms@l12 ~ $ php -q file.php
      42
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        • 2018-08-03
        • 2011-01-24
        • 2011-10-12
        • 2010-12-07
        • 2013-05-07
        • 1970-01-01
        相关资源
        最近更新 更多