由于gd2才開始支持真彩圖片的創建,所以,,升級服務器,因為原來的安裝都是默認的系統安裝,也更因為是個菜鳥,所以,安裝很困難,起初根據網上一些文章在我的red hat A 3 上安裝測試,不過,測試了安裝php4.3.X 和php5.0.X都沒有成功,最后,根據其他人的文章,自己搞了將近3天,終于安裝上了,下面就我安裝中出現的錯誤和過程寫出來和大家分享,以免有像我一樣的菜鳥們走彎路! (我可是兩天多的時間,安裝php的次數不下50次得來的經驗,希望大家多多支持,有錯誤當然歡迎給我指正!轉載請注明來自中國智慧在線(http: //article.21e.cn ,謝謝!),以下經過測試在red hat 9 和red hat A 3上通過!
如果你機器里原來裝有了PHP或者APACHE的RPM或者低版本.你可以現刪除,刪除安裝簡潔一些,不過我的實際操作過程是煤油刪除,而直接安裝的.當然你也可以跟我一樣!
首先,服務器GCC要有,不然什么都不能做.可以用gcc -v來查看是否安裝了GCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
有以上類似信息說明已有GCC,沒有就現安裝吧,至于如何安裝,我就不說了,可以用光盤安裝或者是下載源文件都可以,當然你的版本不一定是3.2.3!
請下載以下所有的東西:
httpd-2.0.X.tar.gz 版本最好是下載最新的啦,下載地址:http://www.apache.org
MySQL-client-4.0.20-0.i386.rpm
MySQL-server-4.0.20-0.i386.rpm(如果你打算升級mysql的話請下載,下載地址:http: //www.mysql.org 當然也是下載最新的版本最好了,由于我不打算安裝mysql,就省略了,安裝的時候的步驟也是先安裝mysql!)
php-5.0.X.tar.gz 下載地址:http://www.php.net
ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
zend的最新版安裝是好像有點問題,就下載這個版本就可以,zend用來加速php,你可以選擇不安裝!下載地址:http: //www.zend.com
gd-2.0.28.tar.gz 這個軟件的下載地址,php推薦的是:http://www.boutell.com/gd/ 但是由于某些原因,開發者不支持gif圖像的創建,這有點不太方便,所以,我下載了個支持gif圖像的,也就是打了gif補丁的:http: //www.rime.com.au/gd/
libxml2-2.X.X.tar.gz 下載地址:
zlib-1.X.X.tar.gz 忘記了,自己找一下吧
jpegsrc.v6b.tar.gz 下載地址:ftp://ftp.uu.net/graphics/jpeg/
libpng-1.2.5.tar.gz 下載地址:http://www.libpng.org/pub/png/libpng.html
freetype2-X.X.tar.gz 下載地址:http://www.fretype.org
xpm-3.4k-2.i386.rpm 忘記了,自己找一下吧
以上都是我下載的官方地址,軟件的版本中的X,你自己看看你想用哪個版,不過最好是用最新穩定版本的!如果你以前安裝過上述軟件的其他版本,你也可以選擇不安裝!
安裝MYSQL 服務器:
#rpm -ivh MySQL-server-4.0.20-0.i386.rpm
#rpm -ivh MySQL-client-4.0.20-0.i386.rpm
安裝好后試試能不能用
#mysql 如果設置了密碼后測試方法是(mysql -u root -proot -h localhost 注意的是-p后煤沒有空格,直接跟密碼)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 27651 to server version: 4.0.20-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
說明可以了!
請自己改mysql的密碼,方法不說了!
安裝XPM
#rpm -ivhxpm-3.4k-2.i386.rpm
安裝libxml
# tar -zxf libxml2-2.6.16.tar.gz
# cd libxml2-2.6.16
# ./configure (xml默認安裝就可以,不要指定路徑了,因為安裝時php可能找不到它,PHP5只支持libxml2-2.5.10以上版本)
# make
# make install
安裝zlib
# tar -zxf zlib-1.2.2.tar.gz
# cd zlib-1.2
# ./configure --prefix=/usr/local/zlib2 (注意,如果您以前沒有安裝zlib,可以不指定路徑,我是沒有刪除以前的低版本才指定的!以下雷同!)
# make
# make install
安裝jpeg
# tar -zxf jpegsrc.v6b.tar.gz
# cd jpeg-6b/
# ./configure --prefix=/usr/local/jpeg6
# make
# make install-lib
如果你選擇默認安裝,可能很順利,指定路徑后,請先創建以下文件夾
錯誤提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h
/usr/bin/install: 無法創建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 沒有那個文件或目錄
make: *** [install-headers] Error 1
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/include
# mkdir /usr/local/jpeg6/lib
# make install-lib
# make install
安裝時如果錯誤提示:
/usr/bin/install: 無法創建一般文件‘/usr/local/jpeg6/lib/libjpeg.a’: 沒有那個文件或目錄
make: *** [install-lib] Error 1
創建如下文件夾:
# mkdir /usr/local/jpeg6/lib
# make install
/usr/bin/install -c cjpeg /usr/local/jpeg6/bin/cjpeg
/usr/bin/install: 無法創建一般文件‘/usr/local/jpeg6/bin/cjpeg’: 沒有那個文件或目錄
make: *** [install] Error 1
# mkdir /usr/local/jpeg6/bin
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg6/man/man1/cjpeg.1
/usr/bin/install: 無法創建一般文件‘/usr/local/jpeg6/man/man1/cjpeg.1’: 沒有那個文件或目錄
make: *** [install] Error 1
# mkdir /usr/local/jpeg6/man
# mkdir /usr/local/jpeg6/man/man1
# make install
好了,直到安裝成功!
安裝libpng:
# tar -zxf libpng-1.2.7-config.tar.gz
# cd libpng-1.2.7-config
# ./configure --prefix=/usr/local/libpng2
# make
# make install
安裝freetype:
# tar -zxf freetype-2.1.9.tar.gz
# cd freetype-2.1.9
# ./configure --prefix=/usr/local/freetype2
# make
# make install
安裝gd庫:
# tar -zxf gd-2.0.26gif.tar.gz
# cd gd-2.0.26gif
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ (請指定及格插件的安裝路徑,否則安裝php的時候可能出錯!)
# make
# make install
安裝apache,(php5安裝環境需要apache2.0.46以上版本,下載的時候注意!)
#tar zxvf httpd-2.0.50.tar.gz
#cd httpd-2.0.50
#./configure --prefix=/usr/local/apache2 --enable-module=so
#make
#make install
安裝php5:
# tar -zxf php5-200411260130.tar.gz
# cd php5-200411260130
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --enable-trace-vars --with-zlib-dir=/usr/local/zlib2/ -with-mysql=/var/lib/mysql
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
安裝libxml的時候如果指定了路徑,make的時候可能出錯,所以,我安裝的時候沒指定!
我MAKE PHP4.3.8 和5的時候都遇到:
ext/gd/gd.lo(.text+0x63a): In function `zm_deactivate_gd':
/root/software/php-4.3.8/ext/gd/gd.c:385: undefined reference to `gdFreeFontCache'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php]Error 1
另外還有一個錯誤可能是什么: libphp.lo的錯誤(錯誤當時沒有紀錄,忘記了,大概是!)
是因為GD庫的freetype沒裝,或者是安裝gd庫的時候煤油指定插件的路徑!!
復制PHP.INI文件到正確位置
在PHP目錄下運行
#cp php.ini-dist /usr/local/php/lib/php.ini
編輯apache配置文件httpd.conf
#vi /usr/local/apache2/conf/httpd.conf
要改的有如下幾處:
一般都在
#AddType application/x-tar .tgz
下加一行
#LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
如果你搜索其它地方沒有以下這行
LoadModule php5_module modules/libphp5.so
請把上面的#號去掉
還有找到
DirectoryIndex index.html index.html.var
在后面加 index.php 讓它把index.php做為默認頁
找到
# don't use Group #-1 on these systems!
把下面的用戶名和組改為
User apache
Group apache
(原來好像是nobody)
再找
#ServerName
把#去掉,后面的IP改成你的IP.
找到
DocumentRoot "/usr/local/apache2/htdocs"
把/usr/local/apache2/htdocs改為你存放網頁文件的路徑
為了讓中文網頁沒亂碼
找到
AddDefaultCharset iso8859-1
把后面的iso8859-1改為gb2312 或者是干脆off
其他的選項就自己修改吧!或者到http://article.21e.cn 有一個專門的httpd.conf的說明!
保存httpd.conf文件.
啟動apache
# /usr/local/apache2/bin/apachectl start
如果沒有出錯,寫一個測試頁放到你網頁目錄下.訪問就應該可以看到php的版本等信息了!
如無意外.PHP腳本已經可以連接mysql了.
用ZendOptimizer加速PHP
#tar zxvf ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
#cd ZendOptimizer-2.5.3-linux-glibc21-i386
#./install.sh
安裝的時候注意輸入正確的安裝apache的路徑等內容!
安裝完畢,再看看phpinfo頁面的zend選項就發現了!!
如果你以前的apache沒有刪除,而你又想使用
# /etc/init.d/httpd restart
這樣重起apache的話,那就修改/etc/init.d/httpd這個文件,修改其中的apahce的三個路徑就可以了!!
好了,終于安裝完畢,你的機器已經是最新的apache+php+mysql+gd.......了,恭喜!!
艾,累死我了,整整弄了好幾天!!休息了!!~(安裝的時候,可能安裝的時候和寫不不是很一樣,不過大同小異!)
同時感謝以前那幾位辛苦的安裝者,參照你們的文章我才得以順利安裝成功,雖然還是用了好幾天!~