您好,登錄后才能下訂單哦!
1.安裝擴(kuò)展
yum -y install perl-DBI curl-devel libcurl-level mysql mysql-devel gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel bzip2 bzip2-devel libxml2 libxml2-devel libmhash libmhash-devel libjpeg libjpeg-devel libpng libpng-devel
2.下載php和php-fpm
wget http://soft.7dot.com/soft/php-5.2.17.tar.gz
wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
3.安裝編譯php
tar zxvf php-5.2.17.tar.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17
./configure --prefix=/usr/local/php --enable-fastcgi --enable-zip --enable-fpm --enable-gd-native-ttf --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-freetype-dir --with-png-dir --with-mcrypt --with-mhash --enable-mbstring --with-kerberos --with-gettext --enable-bcmath --with-mysql --with-mysqli --with-sqlite --enable-pdo --with-pdo-mysql --with-openssl --enable-ftp --with-pear --with-zlib --enable-inline-optimization --enable-calendar --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --disable-debug
make -j `grep processor /proc/cpuinfo | wc -l`
make test
make install
4.編譯過程可能出錯(cuò)的地方及改錯(cuò)方法
1)mcrypt.h not found. Please reinstall libmcrypt
centos源不能安裝libmcrypt-devel,由于版權(quán)的原因沒有自帶mcrypt的包,有兩種方法解決,一種是使用第三方源,這樣還可以使用yum來安裝,簡(jiǎn)單方便,壞處是第三方源多少有中不可靠的感覺。
解決辦法一
安裝第三方y(tǒng)um源
wget http://www.atomicorp.com/installers/atomic
使用yum命令安裝
yum install php-mcrypt libmcrypt libmcrypt-devel
解決辦法二、
使用php mcrypt 前必須先安裝Libmcrypt
libmcrypt源碼安裝方法:
cd /usr/local/src wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz tar -zxvf libmcrypt-2.5.8.tar.gz cd /usr/local/src/libmcrypt-2.5.8 ./configure --prefix=/usr/local make make install
2)error: Cannot find libmysqlclient under /usr. Note that the MySQL client library is not bundled anymore!
問題是64位系統(tǒng)中 libmysqlclient 默認(rèn)安裝到了 /usr/lib64/mysql/ 目錄下
而/usr/lib 目錄下沒有相應(yīng)文件,但是php編譯時(shí),要去 /usr/lib目錄下查找
解決方法:
ln -s /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so
3)/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1
深究該問題應(yīng)該是該庫的頭文件庫沒有安裝所致
yum list all | grep ltdl
yum -y install libtool-ltdl-devel.x86_64
4)
##根據(jù)Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
##You may want to add: /usr/local/php/lib/php to your php.ini include_path
##Installing PDO headers: /usr/local/php/include/php/ext/pdo/
##這個(gè)信息,我們需要在當(dāng)前 php-5.2.17目錄下執(zhí)行
cp php-5.2.17/php.ini-dist /usr/local/php/lib/php.ini
5)
啟動(dòng) PHP-FPM 時(shí),如遇到下面這個(gè)錯(cuò)誤信息:
Starting php_fpm Feb 07 10:52:35.508786 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'
打開 php-fpm.conf 配置文件,找到下面這個(gè)部分:
Unix user of processes
<!-- <value name="user">nobody</value> -->
Unix group of processes
<!-- <value name="group">nobody</value> -->
去掉注釋,并將user和group改為實(shí)際實(shí)用的用戶和組即可。比如user=nginx group=nginx
5 啟動(dòng)服務(wù)
/usr/local/php/sbin/php-fpm start
service nginx restart
service mysqld restart
其它的一些細(xì)節(jié)設(shè)置沒有一一詳寫,請(qǐng)大家指教改正!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。