失敗的表現一般分爲兩種: 網頁爲空白, 或者進入下載php文件的頁面.
php的編譯安裝, 依賴mysql和web服務器軟件. httpd編譯的時候, 需要httpd支持.so格式的庫文件, 即在./configure階段的–enable-so選項; 這樣, 在php編譯安裝的時候, 能將libphp5.so安裝到apache的根目錄下的modules子目錄下面, 在httpd.conf裏面才能引用來解析php.
http和nginx的解析php的功能是不相同的.
httpd本身可以解析php, 依賴libphp5.so庫.
nginx本身不能解析php, 它是一個代理, 將解析php的部分交給了php-fpm, 因此php在LAMP和LNMP上的編譯參數有很大的不同.
MySQL和httpd的安裝順序可以隨意.
第一步: 編譯安裝php, 在make install階段, 可以看到這樣的字樣:
這是解析php的第一步.
第二步: 載入libphp5.so庫文件
在apache的httpd.conf裏面, 找到這樣的字段:
LoadModule php5_module modules/libphp5.so
如果前面有註釋, 則去掉註釋; 如果沒有這一行配置, 在LoadModule的一系列行的下面, 添加一行如上的配置(第一步已經確定modules裏面有libphp5.so的文件, 這裏的路徑是相對路徑, 相對於apache_basedir).
注: 這一步沒有實現的話, 打開php頁面以後, 會進入下載php文件的操作.
第三步: 添加解析類型配置
要想支持php腳本解析,必須要加上對應的類型。
找到:AddType application/x-gzip .gz .tgz
在該行下面添加: AddType application/x-httpd-php .php
注: 如果所有的配置符合條件, 只這一項漏掉的話, php文件解析不了, 網頁爲空白.
第四步: 添加php的索引
再找到:
DirectoryIndex index.html
將該行改爲:
DirectoryIndex index.html index.htm index.php
說明:增加針對php的索引,如果一個站點默認頁爲index.php,那麼就得加上這個index.php的支持。
配置了索引, 輸入虛擬機的域名, 不用加文件就能自動進入網站的主頁.