Desde PHP 4.3.0, hay soporte para CLI SAPI. El principal objetivo de este valor SAPI es el desarrollo de aplicaciones de consola en PHP. En este capítulo se explica las diferencias que hay entre CLI SAPI y otras SAPIs. Vale la pena aclarar que CLI y CGI son SAPIs diferentes pese a que compartan la mayoría de características.
Para que CLI SAPI esté activa por omisión, debe usarse --enable-cli , pero puede deshabilitarse usando la opción --disable-cli al ejecutar ./configure.
Tanto el nombre, ubicación y presencia del binario CLI/CGI depende de cómo se instale PHP en el sistema. Por omisión, al ejecutar make, tanto CGI como CLI se construyen y ubican como sapi/cgi/php-cgi y sapi/cli/php respectivamente, en el directorio fuente de PHP. Debe tenerse en cuenta que los dos se llaman php. Dependiendo de la configuración, sucederá una cosa u otra al ejecutar make install. Si durante la configuración se elige un módulo SAPI, como por ejemplo apxs, o bien se usa la opción --disable-cgi , se copia CLI a {PREFIX}/bin/php al ejecutar make install a no ser que CGI ya esté ahí. Por ejemplo, si se utiliza --with-apxs en la configuración, entonces CLI se copiaría a {PREFIX}/bin/php durante make install. Si se deseara sobrescribir la instalación del binario de CGI, debe usarse make install-cli tras make install. Adicionalmente, se puede especificar --disable-cgi en la configuración.
Nota:
Ya que tanto --enable-cli como --enable-cgi se habilitan por omisión, el simple hecho de tener --enable-cli en la configuración no implica que CLI se instale en {PREFIX}/bin/php durante make install.
Desde PHP 5, en sistemas Windows el binario CLI se instala en el directorio principal con el nombre de php.exe. La versión CGI se instala como php-cgi.exe. Además, se instalaría php-win.exe si PHP se hubiera configurado usando --enable-cli-win32 . Funciona igual que la versión CLI, solo que no muestra ninguna salida, por lo que no sirve para la consola.
Nota: ¿Qué SAPI tengo?
Desde la consola, al escribir php -v sabremos si php es un CGI o CLI. Revise, asimismo, la función php_sapi_name() y la constante
PHP_SAPI
.
Nota:
En Unix hay disponible una página del manual escribiendo man php en la terminal.