本來是因為換到雙 CPU 的機器上面的 PHP4 在安裝時沒有帶入 mbstring ,所以之前我寫的網站動態轉碼完全不能動作。
後來想想乾脆就換成物件導向的 PHP5 好了。^^
安裝前的準備:
1.到 PHP 網站下載 PHP5。
http://www.php.net/downloads.php
2.如果是 linux 的話,就要注意 libxml 的 rpm 版本問題,因為 PHP5 要求的libxml 版本 2.5.6 以上,Redhat 9 的 libxml RPM 套件最新版本也只到 libxml2-2.5.4,所以可以考慮用 srpm 或是 tarball 安裝。
libxml 下載網頁:
http://www.xmlsoft.org/downloads.html
libxml FAQ 安裝說明:
http://www.xmlsoft.org/FAQ.html#Installati
(由於 libxml2 相依性的套件很多,我個人是用 srpm 以 –nodeps 來強制更新,但是怕出問題的人請儘量用 tarball 安裝)
PHP 5 正式安裝:
1.基本安裝方式如果完全不懂,可以參考鳥哥這一篇:
http://linux.vbird.org/linux_server/0360apache.php
2. configure 參數部份可以參考自己需要的函式來下,要查詢參數的話可以在解壓開的 PHP5 目錄下:
./configure --help
建議 php4 最好跟 php5 的安裝目錄分開,以免出了問題沒辦法回去:
--prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5
如果 mysql 或 libxml 之類的套件是用 tarball 安裝的就記得要加安裝的路徑,如:
tarball 安裝 mysql 參數範例:
--with-mysql=/usr/local/mysql
tarball 安裝 libxml 參數範例:
--enable-xml --with-dom=/usr/local/include/libxml2 --with-dom-xslt=/usr/local/include/libxsl --with-libxml-dir=/usr/local/include/libxml
列出我個人使用的參數僅供大家參考:
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/php –enable-mbstring=tw –enable-ftp –with-gd –with-zlib –with-regex=php
3.make; make install 完成之後,也記得要在 php.ini-dist 跟 php.ini-recommended 選一個複製到安裝的 php5 目錄 (如/usr/local/php5),並改名為 php.ini。
二者不同之處請參考:
http://www.neo.com.tw/archives/000210.html
4.最重要的一點,就是要到 apache 的 httpd.conf ,把 php4 的 Module 給註解掉。
以 tarball 安裝在 /usr/local/apache2/ 為例:
vi /usr/local/apache2/conf/httpd.conf
找到以下二行:
LoadModule php4_module modules/libphp4.so LoadModule php5_module modules/libphp5.so
把 php4 那一行註解掉:
#LoadModule php4_module modules/libphp4.so LoadModule php5_module modules/libphp5.so
順帶一提,如果沒註解掉會怎麼樣呢?
答案是 CPU 會有一顆一直維持在 100% 狀態,而且Process完全砍不掉。
註解完成就可以在儲存離開後重新啟動 apache
/usr/local/apache2/bin/apachectl stop /usr/local/apache2/bin/apachectl start
這樣就完成所有的升級安裝動作了,以下是安裝完成的 phpinfo() 畫面:
3 comments On Redhat Linux 由 PHP4 升級到 PHP5
如何把xml装上?
–enable-xml
–with-dom=/usr/local/include/libxml2
–with-dom-xslt=/usr/local/include/libxsl
–with-libxml-dir=/usr/local/include/libxml
参数加上configure终止!
出现错误!
檢查一下 /usr/local/include/ 路徑裡面是不是有 xml 相關檔案?
請救救我吧
我安裝libxml,configure過了
可是make的時候出現錯誤,不能裝
救命啊