本文是說明在Archlinux上面配置apache + php + mysql的基本方法
首先,說明一下,在Linux系統中apache, php , mysql都是對立的模塊。Apache和mysql更是一種服務;而php則是一種腳本語言解釋器。他們不僅功能相對獨立,而且軟件在linux上面的存在形式也是對的。 一般情況下,三個模塊之間是通過配置文件聯繫在一起;
大體是這樣:
Apache和php的聯繫是通過 httpd.conf 配置文件聯繫在一起的;他說明apache在跑網頁程序時需要使用php解釋器;
Php和mysql則是通過php.ini配置文件聯繫在一起。該配置文件如果啓用了mysql模塊,則說名在php代碼中可以使用mysql驅動連接mysql數據庫;
下面來說下詳細配置信息:
1,apache + php
具體環境和軟件是:
OS: archlinux
Apache : apahce2(可通過pacman -S apache來安裝)
Php : php5(可以通過pacman -S php-apache來安裝)
首先,我們需要在apache服務啓動時加載php解釋器程序模塊。即在apache配置文件
/etc/httpd/conf/httpd.conf
做如下更改:
增加 LoadModule php5_mudule models/libphp5.so
說明一下:libphp5是php解釋器的路徑。這個路徑是apache配置的ServerRoot 路徑的相對路徑。Libphp5便是php解釋器了;
其次, 我們需要對這個解釋器在運行時做一些配置。這些配置項在安裝php-apache的時候已經寫好了。我們只需要找到php5_module.conf文件:
/etc/httpd/conf/extra/php5_module.conf
然後做相應更改,如果使用默認解釋器的設置,就不別動這個文件的內容了;
這個文件是存在了但是未做配置之前apache是找不到這個文件的,我們還需要將這給文件的路徑告訴apache服務器,同樣地,我們需要修改httpd.conf這個文件:
在Include列表下面加上如下配置:
Include conf/extra/php5_module.conf
最後,保存一下配置文件。Ok,重啓apache服務器,運行下面的command :
Sudo /etc/rc.d/httpd restart
一般情況下,apache服務器能夠使用php5這個語言解釋器了;
如果測試服務器時你的.php文件被當做html文件輸出,或者是當做其他二進制文件被下載了。那說明名服務器的Mime-type設置有問題。可以去lib5_module.conf中看看是不是相應的mime-type被註釋了;如果沒有.php, .phps的mime-type信息。則可以在httpd.conf文件中加入如下配置:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
保存後重啓服務應該就能解決該問題。如果程序不能被正確解釋。可以看看日誌文件/var/log/httpd/error.log,然後再去找解決辦法;
下面來說一下php解釋器 支持mysql啓動訪問mysql服務器:
首先,php解釋器要使用mysql服務,那是php解釋器的事。所以所有的配置信息都是在php解釋器這端。實現這個過程,我們只需要告訴解釋器啓用mysql驅動模塊就行了;找到php安裝配置文件
/etc/php/php.ini
一般情況下,該配置文件中已經有了mysql驅動模塊的信息,只是以被註釋狀態存在:
;extension=mysql.so
只需要去掉註釋標識符 ; 皆可;
如果麼有這個信息這需要安裝php-mysql軟件包。完成安裝後需要將
extension=mysql.so
加入php.ini文件。
保存後重啓apache服務。應該解決問題了。
Note:
由於linux分支很多,每個分支安裝服務和模塊的時候配置文件和相應的模塊代碼存放的路徑都不盡相同;所以以上配置路徑只適合特定的系統配置;不過了解了這個原來之後; 其實找到配置文件就不是問題了;不是嗎?
晚安吧!