2014-10-01 57 views
0

這是我試圖抓住我的頭。Apache,PHP和MySQL如何協同工作?

好的,所以Apache只是將Web服務器上的文件服務器提供給客戶端。我完全明白這一點。但是如果你安裝了PHP,那麼在PHP提供這些文件之前,突然PHP代碼將被解釋。然後你安裝MySQL,並且突然之間的PHP可以直接與MySQL一起工作。

在安裝過程中真的做了什麼,可以讓這三件事情緊密結合在一起?如果Apache和PHP是獨立的程序,那麼它們如何一起工作來提供文件?

回答

0

突然間沒有任何反應。

要與Apache在Windows PHP工作,你需要添加以下行httpd.conf

LoadModule php5_module "c:\php\php5apache2_2.dll" 
PHPIniDir 'c:\php' 
AddHandler application/x-httpd-php .php 

(這僅僅是指我的設置),然後重新啓動Apache開始投放PHP請求。

PHP附帶Mysql擴展名爲MySQL requests。這些天我們有PDO/Mysqli擴展到(a)避免SQL注入(b)更有效地處理請求。然而,由於上面提到什麼,我會自動發生,你必須取消註釋以下行php.ini,使你任何這些擴展的工作:

extension=php_mysqli.dll 
extension=php_pdo_mysql.dll 

(再參照我的php.ini在Windows上)。

希望有所幫助。

謝謝

0

PHP是處理HTTP請求的服務器端編程語言。它功能齊全,並提供了許多有用的功能。嘗試一些教程,你會很快準備好使用它。

HTTP請求是:

  1. GET - 它允許你讀你你在哪裏存儲數據。這通常通過數據庫(MySQL)查詢完成
  2. POST - 用於發佈用戶數據,通常來自HTML表單。 PHP允許你訪問這個全局變量$ _POST ['example']並將其存儲在數據中。

PHP基本上允許你用數據庫創建,讀取,更新,銷燬(CRUD)。

在安裝過程中真的做了什麼,可以讓這三樣東西緊密結合在一起?如果Apache和PHP是獨立的程序,那麼它們如何一起工作來提供文件?

他們一起工作,因爲你允許他們。在您的php腳本中,您必須先連接到一個sql數據庫,然後才能使用該數據庫。在php文檔中查找「mysqli_connect()」。 HTML頁面通常通過用戶輸入表單調用PHP腳本。因此,在提交時添加到數據庫。但他們必須在同一臺服務器和域上!所有編程的同一地點仍然適用。

+1

謝謝!但是我已經很好地理解了PHP是什麼。我對它如何與Apache協同工作感到困惑。 – turkey3 2014-10-01 01:54:34

+0

它基本上與網頁服務器提供之前,或從用戶輸入要求時說話。它允許你從數據庫請求。假設你有一個鏈接。但不是一個靜態鏈接。說一個帖子。該帖子有一個ID。好吧,如果你刪除該帖子。鏈接現在在哪裏?它會發布ID爲1.現在,該帖子已不存在了...以及與PHP,你可以存儲在數據庫中的活躍帖子。這樣當用戶點擊一個鏈接時,它會轉到與相關信息相關的帖子。這是一個動態鏈接。根據需要進行更改。而不是靜態鏈接.PHP通過HTTP動詞.GET/POST與apache協同工作 – 2014-10-01 02:18:35