php的SAPI,CLI SAPI,CGI SAPI


首先一個問題:在命令行下執行:php -r 'echo 12;'

控制台會打印出 12;

這個過程不是很奇妙么,我輸入的是shell命令,但是執行的卻是php腳本。php腳本執行完成之后的輸出還能在控制台輸出。

那在這個shell命令(控制台命令)和php中間一定有一種接口,能將shell的參數,代碼,等轉換成php,然后將php的輸出轉換成shell的輸出。這個接口就叫做SAPI(Server Application Programimg Interface)。它就相當於PHP外部環境的代理器。

那么由於PHP可以應用在終端上,也可以應用在Web服務器中,所以呢,應用在終端上的SAPI就叫做CLI SAPI,應用在Web服務器中的就叫做CGI SAPI。在windows下安裝php你會看到兩個exe:php.exe和php-cgi.exe這個就對應的是這兩種SAPI。再比如,在控制台上使用php -v,你就會發現PHP的版本信息中有個(cli)標示,就代表你這里的php應用程序使用的是cli SAPI。

關於CLI SAPI:手冊上有很詳細的說明:http://php.net/manual/zh/features.commandline.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM