Puede ejecutar PHP con el modificador de línea de comando -q
. El manual sólo decir:¿Qué significa ejecutar PHP en modo silencioso?
Quiet-mode. Suprima la salida del encabezado HTTP (solo CGI).
Lo que significa realmente en términos prácticos?
Puede ejecutar PHP con el modificador de línea de comando -q
. El manual sólo decir:¿Qué significa ejecutar PHP en modo silencioso?
Quiet-mode. Suprima la salida del encabezado HTTP (solo CGI).
Lo que significa realmente en términos prácticos?
Esto solo tiene que ver con el intérprete PHP construido en CGI SAPI. Esta versión envía unas cuantas cabeceras HTTP básica antes de cualquier salida real:
X-Powered-By: PHP/5.3.3-1ubuntu9.3
Content-type: text/html
"(echo) What I actually wanted to have"
Así que, básicamente, la bandera -q
de comandos impide cualquier header()
que se escriben en la salida estándar.
El propósito es utilizar el binario php-cgi en lugar de la variante CLP de php para los scripts de la consola. Por lo general se vea la siguiente tinglado en este tipo de secuencias de comandos para forzar php-cgi se comporte como la versión -cli:
#!/usr/bin/php-cgi -qC
Como se puede ver con -q
php clave suprime a enviar cabeceras (añadido algunas nuevas líneas en la salida a pesar hazlo más legible):
[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