You can run PHP with the -q
command line switch. The manual only say:
Quiet-mode. Suppress HTTP header output (CGI only).
What does that actually mean in practical terms?
This only concerns the PHP interpreter built against the CGI SAPI. This version sends a few basic HTTP headers before any actual output:
X-Powered-By: PHP/5.3.3-1ubuntu9.3
Content-type: text/html
"(echo) What I actually wanted to have"
So basically the -q
commandline flag prevents any header()
from being written to stdout.
The purpose is to use the php-cgi binary in lieu of the php CLI variant for console scripts. Usually you see following shebang in such scripts to force php-cgi to behave like the -cli version:
#!/usr/bin/php-cgi -qC
As you can see with -q
key php suppresses to send headers (added some new lines in the output though to make it more readable):
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With