歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 5.2 x86 64(AMD)編譯安裝PHP小記

CentOS 5.2 x86 64(AMD)編譯安裝PHP小記

日期:2017/2/28 16:19:39   编辑:Linux教程

在Linux編譯安裝PHP遇到的幾個問題:

首先使用yum命令從CentOS源安裝所有依賴的庫,這裡libiconv庫需要單獨下載並編譯安裝。

其次下載php-5.2.8.tar.bz2和php-5.2.8-fpm-0.5.10.diff.gz文件,解壓縮php-5.2.8.tar.bz2並打上php-5.2.8-fpm-0.5.10.diff.gz補丁,然後執行一下配置命令:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql-dir=/usr/lib64/mysql --with-mysqli-dir=/usr/lib64/mysql/mysql_config --with-pgsql-dir=/usr/lib64/pgsql --with-iconv-dir=/usr/local/lib --with-freetype-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-libxml-dir=/usr/lib64 --with-png-dir=/usr --with-gd --with-mcrypt --with-mhash --with-curl --with-openssl --with-zlib --enable-discard-path --enable-sysvsem --enable-bcmath --enable-shmop --enable-inline-optimization --enable-mbstring --enable-sockets --enable-zip --enable-xml --enable-gd-native-ttf --enable-sockets --enable-pcntl --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --disable-rpath

配置錯誤:/usr/bin/ld: cannot find -lltdl
出現此錯誤大多是由於你的系統未安裝libtool庫導致,但即使你已安裝了libtool庫也可能會遇到。對此我們要做兩件事情:1,確認系統是否安裝了libtool庫;2,為PHP編譯作兼容性設置。
第一步很容做到:yum -y install libtool libtool-ltdl;
第二步由於PHP的configure指定的libltdl名為libltdl.so,為此我們只需添加一個名稱連接:ln -s /usr/lib64/libltdl.so.3.1.4 /usr/lib64/libltdl.so

再次編譯PHP:make ZEND_EXTRA_LIBS='-liconv'

錯誤:/usr/bin/ld: cannot find -liconv
此問題是由於64位系統導致,因為我們編譯安裝libiconv時一般如此配置:./configure --prefix=/usr/local,這時libiconv將被安裝到/usr/local/lib目錄下;但是在64位系統下PHP編譯時引用的是/usr/lib64/libiconv.so.2文件,所以我們還是創建一個名稱連接:ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so.2

最後安裝PHP:make install

Copyright © Linux教程網 All Rights Reserved