程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 5.4 內置Web服務器

PHP 5.4 內置Web服務器

編輯:關於PHP編程

 

PHP是一種腳本語言,它需要PHP解釋器來分析運行PHP文件。當把PHP做為CGI服務Web請求時,它需要被嵌入到某種Web服務器裡,最常見的是集成到Apache或IIS裡,這就是說,在使用PHP前,你需要安裝Apache或IIS,並且正確的配置它們和PHP集成的參數。雖然這種配置已經很規范,文檔非常豐富,但我們還是經常在安裝Apache和PHP集成時遇到問題,而且,有時候我們只想測試一個簡單的PHP特征,不想就為此安裝、啟動Apache服務。

但據官方文檔上說,這個內置的Web服務器只是提供開發測試使用,不推薦使用中生產環境中。因為這個服務器接受處理請求時順序執行的,不能並發處理。

這個內置的web服務器使用起來非常的方便,你只需要執行下面的命令:


  1. $ php -S localhost:8000 

然後就可以訪問了。這樣啟動後,默認的web服務目錄是執行命令的當前目錄,如果不想使用當前目錄,你需要使用 -t 參數來指定。

例 #1 啟動Web服務器


  1. $ cd ~/public_html  
  2. $ php -S localhost:8000 

終端輸出信息:


  1. PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011  
  2. Listening on localhost:8000  
  3. Document root is /home/me/public_html  
  4. Press Ctrl-C to quit 

當請求了 http://localhost:8000/ 和 http://localhost:8000/myscript.html 地址後,終端輸出類似如下的信息:


  1. PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011  
  2. Listening on localhost:8000  
  3. Document root is /home/me/public_html  
  4. Press Ctrl-C to quit.  
  5. [Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read  
  6. [Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read  
  7. [Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read  
  8. [Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read  
  9. [Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read 

例 #2 啟動web服務器時指定文檔的根目錄


  1. $ cd ~/public_html  
  2. $ php -S localhost:8000 -t foo/ 

終端顯示信息:


  1. PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011  
  2. Listening on localhost:8000  
  3. Document root is /home/me/public_html/foo  
  4. Press Ctrl-C to quit 

如果你在啟動命令行後面附加一個php腳本文件,那這個文件將會被當成一個“路由器”腳本。這個腳本將負責所有的HTTP請求,如果這個腳本執行時返回FALSE,則被請求的資源會正常的返回。如果不是FALSE,浏覽裡顯示的將會是這個腳本產生的內容。

例 #3 使用路由器腳本

在這個例子中,對圖片的請求會返回相應的圖片,但對HTML文件的請求會顯示“Welcome to PHP”: