Por defecto PHP se compila como un programa CGI. Esto crea un
intérprete de comandos que puede ser usado para procesar CGI scripts
ó scripts en PHP ejecutados directamente en linea de comandos. Si
utilizais un servidor web que soporte PHP como módulo, deberiais de
usarlo de este modo para sacarle el mejor partido. Sin embargo, la
versión CGI permite correr páginas PHP bajo usuarios con
identificaciones diferentes. Asegurarse de leer el Capítulo sobre seguridad si vais a
utilizar PHP como CGI.
A partir de PHP 4.3.0, se han añadido caracteristicas
importantes a PHP. Una nueva SAPI llamada CLI existe también y tiene
el mismo nombre que el binario CGI. Lo que se instala en
{PREFIX}/bin/php depende de vuestra configuración
y se encuentra descrito detalladamente en la sección del manual
Usando PHP desde la linea de
comandos, Para más información, lea esa sección dl manual.
Si compilais PHP como binario CGI, podeis comprobar que todo
funcione con el comando make test. Es siempre
una buena idea el comprobar que todo funciona despues de una
compilación. De esta manera podeis encontrar problemas con PHP en
vuestra plataforma en una fase inicial.
Si habeis compilado PHP 3 como binario CGI, podeis poner a prueba
vuestra instalación utilizando el comando make
bench. Tener en cuenta que si safe mode está activado
por defecto, no se podra terminar la prueba si esta tarda en
ejecutarse más de los 30 segundos permitidos. Esto ocurre porque la
función set_time_limit() no puede ser usada en
safe mode. Usar la opción de configuración max_execution_time para
controlar el tiempo de ejecución de vuestros scripts. make
bench ignora el fichero de configuración.
Nota:
make bench se encuentra disponible solamente en
PHP 3.
Algunas variables de entorno provistas por el servidor no se
encuentran definidas en la especificación CGI/1.1
actual. Solamente las siguientes variables están definidas; todas
las demás son se pueden definir como 'extensiones': AUTH_TYPE,
CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO,
PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST,
REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME,
SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL and SERVER_SOFTWARE