Apache是壹個服務器(軟件)。沒有php或php-cgi或其他cgi解釋器,apache可以自己運行。(這個時候阿帕奇只能處理。html文本,並做壹些基本的工作,如目錄列表和日誌。)
Php-cgi是Php腳本的解釋器。沒有apache,php仍然可以編寫自己的控制臺(shell)腳本,它們之間沒有必要的依賴關系。
但是當這兩件事放在壹起,整個工作關系(原理)就是:
當客戶機請求服務器時(在這種情況下是apache,或者其他服務器軟件,比如ngnix),
當服務器發現請求的頁面是MIME配置中的CGI腳本時,會把腳本交給相應的CGI解析器(這裏是PHP,或者其他解析器,比如python,perl等。)根據服務器的設置進行處理。
解釋器處理的結果(即壹堆STDOUT文本)將返回給服務器。
然後,服務器將結果返回給客戶端。
贊美詩php-cgi不是常駐進程(嚴格來說不是進程)。它只會在被調用解析腳本的瞬間出現,之後就會被關閉。如果妳想看到php-cgi出現在服務列表中,妳可以寫這樣壹個php腳本來運行。
& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)
回聲?(“測試”);
睡覺?(5);?#?妳有嗎?5?妳能在幾秒鐘內看到嗎...會不會太久?超時
& gt