|
|
|
Por defecto PHP se compila como un programa CGI. Esto crea un intérprete de comandos que puede ser usado para procesar CGI scripts o scripts en PHP ejecutados directamente en linea de comandos.
El uso de PHP como un binario CGI es una opción para el tipo de situaciones en las que por alguna razón no se desea integrar PHP como módulo de algún software de servidor web (como Apache), o en donde se espera usar PHP con diferentes tipos de capas que envuelven el entorno CGI para crear ambientes chroot y setuid seguros para la ejecución de scripts.
Esta configuración usualmente involucra la instalación de un binario ejecutable del intérprete PHP en el directorio cgi_bin del servidor web. por seguridad se recomienda que se evite la colocación de cualquier intérprete bajo cgi_bin.
Una opción bastante segura es colocar el intérprete binario de PHP en alguna parte por fuera del árbol de archivos web. por ejemplo en /usr/local/bin. Esto nos obligará a colocar la siguiente linia al principio de nuestros Scripts de PHP.
#!/usr/local/bin/php
También tendremos que hacer cada archivo ejecutable. Le daremos los mismos permisos que le dariamos a un script CGI escrito en Perl o sh.
Para lograr que PHP gestione correctamente la información de PATH_INFO y PATH_TRANSLATED con este tipo de configuración, el intérprete PHP debe haber sido compilado con la opción de configuración "enable_discard_path"
ejemplo (file.php):
#!/usr/local/bin/php echo "php desde shell"; ?>
Le damos permisos de ejecución y lo ejecutamos
root@linux: chmod +x file.php root@linux: ./file.php
Más información: http://php.oregonstate.edu/manual/es/install.commandline.php
|
|