標籤:

怎樣通俗的講解 PHP 和 Apache 的關係?


你就把伺服器看成一間餐館,apache是店面的傳菜員,php是廚房的廚師。

有些飲料之類的(靜態資源,如:HTML、CSS、JS、Images等),不用經過廚師,直接由傳菜員傳遞給顧客(Client)。

如果需要廚師烹飪的菜式(例如:*.PHP等),就需要先等廚師把原始食材(php)烹飪完變成可以吃用的飯菜(靜態資源),傳菜員才能上菜。


後廚和菜譜的關係,Apache是廚房,裡面有這種主料,調料,烹飪手法如蒸煮烤。PHP是菜譜,根據菜譜可以作出菜來。


apache 是茶几

php 是杯具


apache是工廠,php是機器。

apache負責接收材料給php加工,加工好了apache在把成品發出去。


就好比你要解決生理需要(網站編程),你可以選擇 PHP 這種容易上手的站街貨,也可以選擇 JAVA 這種需要時間搞定的良家,而在什麼場所則是你的資金決定了,免費的自己家裡,大部分人都選擇這個 (Apache),或者就地解決,近年比較流行,因為也不要錢 ( Nginx ),當然你也可以選擇五星賓館的全套 ( Windows Server + SQL Server ),不過你不能自帶女伴,只能用他們提供的 .Net。

你要是搞定要良家 Java ,可以去她家 ( Tomcat ...),雖然辦事不要錢但是總覺得不踏實,服務也不到位,於是你還可以外出開房 ( Weblogic ...) 。


這麼簡單的東西幹嘛還要通俗解釋?

Apache是Web伺服器,負責回應所有收到的Web請求。比如你訪問http://zhihu.com/1.html,那麼Apache就找到根目錄下的1.html文件,將其中的內容返回。

如果我需要這個地址能顯示動態的東西,比如當前日期時間,那麼就寫一個PHP程序1.php,當Apache收到http://zhihu.com/1.php的請求時,通過CGI調用PHP解釋程序,執行1.php文件的內容,然後將返回的字元串返回給客戶端。


apache是服務員,客戶點餐(url request)都經過服務員。php是廚師,端到客戶桌子上的餐點(web內容)都是廚師產出的。


你要想聽到音樂(WEB),可以有不同的方式。

CD機(Apache)可以通過CD(PHP)播放音樂(WEB)。

磁帶機(IIS)也可以通過磁帶(ASP)播放音樂(WEB)。


都這麼文藝,看重口味: apache 是拉皮條的,php 是幹活的


感覺上面的回答毫無意義 誰都知道動態的請求是找PHP來解釋 這個問題應該是關於類似cgi fastcgi APACHE的php模塊方面的知識 比方說他們必須要在一台伺服器上面嗎? 他們之間的配合有幾種方式?他們是用什麼樣的協議格式交流的?


apache是電影院,給用戶展示一個最終產品(html)

php是劇組,生成電影

用戶看到的都是電影(apache)

而這個電影怎麼來的,則是劇組的演員啊,攝影師啊他們的辛苦付出(php)。


PHP寫稿,Apache發表。


簡單的說PHP只是Apache的一部分,沒有PHP的Apache可以做為靜態伺服器,處理html等靜態資源,PHP幫Apache把PHP代碼轉化為HTML。PHP就是處理PHP的代碼,他們結合在一起就可以實現動態網站。


一個是外交發言人,一個是中南海。


米飯和飯碗的關係,當然,你也可以選擇不用碗.手抓也是可行的.


感覺Windows Server + SQL Server +.Net就是去找小姐的時候在小姐提供的房間里搞,用房間交錢,用衛生紙交錢,當然用小姐也要交錢。而且你還不能知道源碼,也就是不知道小姐有沒有病。當然媽咪後台很硬的。所以Win經常中毒。

JAVA就像你去找富家千金,想追她全要按照富家規矩來,一點不能錯,有哪裡不想按照規矩來,對不起不行。

PHP就像窮小子和出生低微的農家女,你比較容易娶到,自由度高。你能力強,可以發展很好,做出很NB的東西,能力不強你也可以種地。

怎麼忽然說到三種語言了,其實只是對某個回答不恰當的比喻的回應…


apache是舞台,php是演員,演什麼是你的事,但依賴舞台。當然舞台也可以換,不止apache


Apache是回應者,php中間人


能不能理解成:apache是php這個腳本語言的解釋器?


沒多大關係

沒有apache,直接運行php-cgi也可以跑一個網站

apache更多的是用來處理靜態頁面,還有做一個中間人服務,調度多個php進程


Apache只能返回已經做好的靜態html頁面。而PHP賦予了Apache能返回,由程序動態組裝好html頁面的能力。


sapi


推薦閱讀:

Web 應用、服務是如何工作的?
hadoop學習路線,希望各位幫幫忙?
php-cgi和php-fpm有什麼關係?
項目做到什麼程度才可以進入Apache Incubator(Apache孵化器)?
如何看待2016年4月26日晚,中國互聯網被Struts2漏洞血洗?

TAG:編程 | Apache |