操作系統centos,服務器apache2.2.3,mysql5.0.18,php5.2.5.
參照php-5.2.5發行版中的安裝說明文件進行安裝(INSTALL文件)
1,解壓:
tar -jvxf php-5.2.5.tar.bz2;
2,進入到php-5.2.5目錄下:
cd ./php-5.2.5
3,執行configure編譯php源文件:(如果不知道 ./configure後面的具體參數是什麼意思的話,你可以這樣做:在php源目錄下執行./configure --help)
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --enable-mod-charset --with-config-file-path=/usr/local/php5 --with-layout=PHP --with-curl=/usr/local/curl --with-zlib=/usr/local/zlib --enable-soap --enable-ftp --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd=/usr/local/gd2
4,執行安裝:
make;make install
5, 因爲--with-config-file-path=/usr/local/php5這一設置,所以把php.ini-dist文件複製到/usr/local/php5下:(/usr/local/src/php-5.2.5)
cp ./pnp.ini-dist /usr/local/php5/php.ini
6,因爲--with-apxs2=/usr/local/apache2/bin/apxs這一設置,它會自動將apache與php關聯,即/usr/local/src/php-5.2.5/libs/libphp5.so文件會自動加載到/usr/local/apache2/modules下,並在httpd.conf文件中自動加在LoadModule php5_module modules/libphp5.so
7,添加AddType application/x-httpd-php .php到httpd.conf的AddType模塊下。
8,測試安裝的php是否可以正常運行,在設置的根目錄下,我的根目錄是/usr/local/apache2/htdocs下建立一個phpinfo.php:
<?php echo phpinfo(); ?>
9,安裝lamp過程中遇到的問題以及解決的方法:
1.[warn] module php5_module is already loaded, skipping -->是在apache安裝目錄conf下httpd.conf裏重複了一行LoadModule php5_module modules/libphp5.so,刪除重複的行就行。
2.Cannot load /…/libphp5.so into server: /…/libphp5.so: undefined symbol: _efree -->此錯誤是由於重裝php時,沒有關閉apache。解決方法:調轉到php安裝目錄,執行“make clean”,然後從新安裝php,記得安裝之前關閉apache。
3.從源碼安裝apache2,遇到錯誤:cannot install `libaprutil-1.la' -->由於configure過一次,沒有清理乾淨,需要清理。可以刪除掉源碼目錄,重新解壓源碼,重新安裝,或者make clean.
4.apache啓動報錯(98)Address already in use: make_sock: could not bind to address [::]:80
--> #netstat -lnp|grep 80
#ps 端口號爲80的進程
#kill -9 端口號爲80的進程(可能進程不止一個)
5.Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 -->問題的原因是 : 你的 filename.php文件 在這個用戶下不具有 可讀的權限 通過 ls -l 查看 文件的權限 然後更改權限 chmod +r filename.php