SAPI = Server Application Programming Interface
CGI = Common Gateway Interface
Le but premier de CLI SAPI est le développement d'applications shell avec PHP. Les différences entre le CLI SAPI et les autres SAPI sont expliqués dans ce chapitre. Il est important de mentionner que CLI et CGI sont des SAPI différents malgré le fait qu'ils puissent partager la majeure partie de leurs comportements.
Le CLI SAPI est activé par défaut en utilisant l'option --enable-cli, mais vous pouvez le désactiver en utilisant l'option --disable-cli lors de l'exécution de la commande ./configure.
Le nom, l'emplacement et l'existence des binaires CLI/CGI vont dépendre de la façon dont PHP est installé sur votre système. Par défaut, en exécutant make, les deux binaires CGI et CLI sont compilés et nommés respectivement sapi/cgi/php et sapi/cli/php dans votre répertoire source PHP. Vous remarquerez que les deux se nomment php. Ce qui se passe ensuite pendant le make install dépend de votre ligne de configuration. Si un module SAPI, apxs par exemple, a été choisi pendant la configuration, ou que l'option --disable-cgi a été activée, le CLI est copié dans {PREFIX}/bin/php pendant le make install sinon, le CGI sera placé ici. Si, par exemple, --with-apxs figure dans votre ligne de configuration, le CLI est copié dans {PREFIX}/bin/php pendant le make install. Si vous voulez forcer l'installation du binaire CGI, lancez make install-cli après le make install. Sinon, vous pouvez aussi spécifier --disable-cgi dans votre ligne de configuration.
Note:
Du fait que les deux options --enable-cli et --enable-cgi sont activées par défaut, avoir simplement --enable-cli dans votre ligne de configuration n'implique pas nécessairement que le CLI soit renommé en {PREFIX}/bin/php pendant le make install.
Le binaire CLI est distribué dans le dossier principal sous le nom de php.exe sous Windows. La version CGI est distribuée sous le nom de php-cgi.exe. De plus, un fichier php-win.exe est distribué si PHP est configuré en utilisant l'option de configuration --enable-cli-win32. Ce fichier fait la même chose que la version CLI, sauf qu'il n'affiche rien et qu'il ne fournit pas de console.
Note: Quel SAPI est installé ?
À partir d'un terminal, lancer php -v vous dira si php est en version CGI ou CLI. Vous pouvez aussi consulter la fonction php_sapi_name() et la constante
PHP_SAPI
.
Note:
Une page
man
de manuel Unix est disponible en tapant man php dans l'interpréteur de commande.