2011-04-25 48 views

回答

16

這隻涉及針對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變體。通常你看到下面的這些腳本給力的PHP,CGI認領的行爲像-cli版本:

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

正如你可以-q關鍵PHP看到抑制發送頭(增加了一些新線路中的輸出雖然以使其更具可讀性):

[email protected] ~ $ cat file.php 
<?php 

header('Location: http://stackoverflow.com'); 

echo 42; 

[email protected] ~ $ php file.php 
Status: 302 Moved Temporarily 
X-Powered-By: PHP/5.2.17 
Location: http://stackoverflow.com 
Content-type: text/html 

42 

[email protected] ~ $ php -q file.php 
42