下載插件包
yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel epel-release libmcrypt-devel
下載
cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.6.32.tar.gz
解壓
tar zxvf php-5.6.32.tar.gz
預(yù)編譯
cd php-5.6.32
創(chuàng)建php-fpm用戶(hù),并禁止登錄偶洋;
useradd -s /sbin/nologin php-fpm
./configure --prefix=/usr/local/php --sysconfdir=/usr/local/php/etc --with-config-file-path=/usr/local/php/etc/ --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mhash --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-zlib --enable-mbstring --with-mcrypt --enable-sockets --with-iconv-dir --enable-zip --with-pcre-dir --with-pear --enable-session --enable-gd-native-ttf --enable-xml --with-freetype-dir --enable-gd-jis-conv --enable-inline-optimization --enable-shared --enable-bcmath --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-mbregex --enable-pcntl --with-xmlrpc --with-gettext --enable-exif --with-readline --enable-ftp --enable-redis
提示錯(cuò)誤mcrypt.h沒(méi)有找到熟吏,安裝libmcrypt-devel包,默認(rèn)的yum源涡真,沒(méi)有這個(gè)包分俯,需要安裝epel擴(kuò)展源后,才可以安裝哆料。
[root@localhost php-5.6.32]# yum install -y epel-release
[root@localhost php-5.6.32]# yum install -y libmcrypt
[root@localhost php-5.6.32]# yum install -y libmcrypt-devel
再次執(zhí)行./configure缸剪,沒(méi)有錯(cuò)誤提示,出現(xiàn)Thank you for using PHP东亦,配置OK杏节。
檢查是否安裝正確
make && make install
echo $?
如果出現(xiàn)0 就說(shuō)明正確了.
配置文件
需要將當(dāng)前目錄下的php.ini文件拷貝到 php的安裝目錄etc下
cp php.ini-production /usr/local/php/etc/php.ini
php.ini 文件是在包目錄下的 php.ini-development(開(kāi)發(fā))唬渗, php.ini-production(生產(chǎn))
拷貝php啟動(dòng)腳本,php-fpm配置文件奋渔,更改php-fpm權(quán)限為755镊逝;添加php-fpm開(kāi)機(jī)啟動(dòng);
[root@ php-5.6.32]# cp /usr/local/src/php-5.6.32/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
(啟動(dòng)腳本)
[root@ php-5.6.32]# mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf (就是去掉了末尾的.default )
[root@ php-5.6.32]# chmod 755 /etc/init.d/php-fpm
[root@lphp-5.6.32]# chkconfig --add php-fpm
[root@lphp-5.6.32]# service php-fpm start
Starting php-fpm done
[root@php-5.6.32]# chkconfig php-fpm on
將php的安裝目錄也加入到系統(tǒng)的環(huán)境變量 在最后一行加入
vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile //重新加載
[root@localhost ~]# php -v
PHP 5.6.32 (cli) (built: Mar 12 2018 17:43:15)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies完成 接下來(lái)就是測(cè)試
vim /usr/local/nginx/conf/nginx.conf
location / {
root /www/test;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
將請(qǐng)求轉(zhuǎn)給php的9000端口 確保nginx 和PHP都是運(yùn)行的哈嫉鲸。
location ~ \.php$ {
root /www/test;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
我的是根目錄下的www/ 寫(xiě)個(gè)index.php 里面加入phpinfo(); 看能否成功撑蒜。