很多初級工程師都會對這一塊的知識比較的迷茫,因為這些同學做的工作一般來說自己的職責或者說專案都涉及不到太多架構的東西,但是學一個東西我覺得是要做到知其然而又所以然,才能不斷拓展自己在這一領域的深度與廣度,今天來做一個系統性的說明。
php與apache的主要通訊方式就分為如下的三種方式
cgi模式
我們先來通俗的解釋一下什麼是cgi?
首先cgi是一種規範,漢化的解釋為通用的網關接口,其實就是web伺服器與php之間的一個翻譯機,當web伺服器接收到一個請求過來的時候,如果你是用的這種方式,因為瀏覽器是只能識別html或其他靜態資訊的,所以cgi就會給你做出php程式碼的轉換
那具體的在apache裡該怎麼來設定呢?
# 对 PHP 5 用这行 Action application/x-httpd-php “/php/php-cgi.exe”
模組化方式
模組化方式通俗解釋:
在模組化(DLL)中,PHP是與Web伺服器一起啟動並運行的,再通俗點說兩者是同一個進程的方式在運作。
那麼具體要怎麼配置呢?
# 对 PHP 5 用这两行: LoadModule php5_module “c:/php/php5apache2.dll” AddType application/x-httpd-php .php # 配置 php.ini 的路径 PHPIniDir “C:/php”
fastcgi
通俗解釋:
說白點fastcgi也是協議,它是一個cgi的管理者,那麼它的具體實現到php中就是php的php-fpm模組,但是在apache中是用的專門的fastcgi模組,需要下載.so文件,php-fpm在php5.3以後不再作為第三方的模組而是集成到了php中,它會提前的開啟多個cgi程序,管理這些進程,並提供方式合理有效的調度,保證了並發性,
更多Apache相關技術文章,請訪問Apache使用教程欄位進行學習!
以上是apache和php怎麼進行通信的詳細內容。更多資訊請關注PHP中文網其他相關文章!