RHEL5下如何打開PHP對MYSQL的支持?

RHEL5默認安裝後,PHP對MYSQL不支持,也就是說在使用PHP調用MYSQL數據時,會提示Mysql_Connect錯誤,出現這種情況跟PHP的RPM包的編譯是有關係的,我們來看一下,用phpinfo()函數打印出來的默認PHP信息:

'./configure' '--build=i386-redhat-linux' '--host=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
 
主要是加紅粗體部分參數,導致PHP不支持Mysql函數調用,下面我們就來進行PHP的重新編譯安裝。
首先,請在你的系統安裝光盤上查找如下安裝包(從安裝光盤上查找的原因是可以保證安裝包版本同你現在在使用的系統版本一致):
httpd-devel-2.2.3-6.el5.i386.rpm
mysql-devel-5.0.22-2.1.i386.rpm
php-devel-5.1.6-5.el5.i386.rpm
pcre-devel-6.6-1.1.i386.rpm
libjpeg-devel-6b-37.i386.rpm
libpng-devel-1.2.10-7.i386.rpm
freetype-devel-2.2.1-16.el5.i386.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
aspell-devel-0.60.3-7.1.i386.rpm
 
以上安裝包可以保證在重新編譯PHP的過程中,防止由於缺少.h頭文件,導致編譯失敗,比如:
Configure: error: libjpeg.(also) not found.
說明系統中缺少libjpeg的開發庫文件,需要相關文件的支持。如果你遇到其他錯誤,可以將錯誤信息複製到GOOGLE進行相關搜索,網絡上會有更詳細的介紹說明以及解決辦法。
 
以上安裝包可以通過如下命令,在進行PHP編譯安裝之前安裝到系統中:
[root@nbuit bbs]# rpm -ivh pcre-devel-6.6-1.1.i386.rpm
部分安裝包會有依賴關係,在這裏不做具體說明,請參考其他文章進行解決。
 
現在,我們下載php-5.3.0.tar.bz2準備進行編譯安裝。
[root@nbuit web]# tar jxvf php-5.3.0.tar.bz2
[root@nbuit web]# cd php-5.3.0
[root@nbuit web]# './configure' '--build=i386-redhat-linux' '--host=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=/lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--with-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pspell=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-shmop' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--with-gd' '--enable-dom' '--enable-dba' '--with-unixODBC=shared,/usr' '--enable-pdo' '--enable-xmlreader' '--enable-xmlwriter' '--with-mysqli' '--enable-inline-optimization'
[root@nbuit web]# make
[root@nbuit web]# make test
[root@nbuit web]# make install
最後,使用phpinfo()函數檢查php信息裏,是否有關於mysql的相關信息,以及php的版本是否己經升級到5.3.0 
 
說明一點:如果您在編譯PHP的時候,結果裏有如下相關顯示,請對編譯命令中的相關參數進行刪除。
Notice: Following unknown configure options were used:

--with-png
--with-expat-dir=/usr
--enable-track-vars
--enable-trans-sid
--enable-yp
--enable-memory-limit
--enable-dbx
--enable-dio
--with-mime-magic=/etc/httpd/conf/magic
--with-xml
--without-odbc

Check './configure --help' for available options
 
 
以上希望對遇到相同問題的朋友有所幫助,也希望高手多多指正錯誤,聯繫方式:[email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章