Centos多版本php共存

需求場景:服務器有幾個較老的應用佔用了php,且版本不可向上兼容,新的項目需要高版本的php才能支持,實現其實比較簡單,php-fpm可以指定端口(默認9000),修改nginx fastcgi_pass指向對應的端口即可。

這裏記錄2種不同的安裝方式:一種是通過yum安裝,另外一種是從官網下載源碼編譯安裝。

安裝php7

# 安裝yum源
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 查看可安裝的版本
yum list | grep php
# 安裝指定版本
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysqlnd.x86_64 php70w-pdo.x86_64
# 開啓php-fpm
/usr/sbin/php-fpm
# 重啓php-fpm
ps aux|grep php-fpm
kill -SIGUSER2 xx(php_master_id)

安裝php7.2.19

1.去官網下載壓縮包,上傳到服務器解壓文件,並進入

# 或者直接通過服務器下載源文件安裝
wget http://cn2.php.net/distributions/php-7.2.19.tar.gz
# 解壓(下面下載文件默認是在usr/local文件夾下)
tar -zxvf php-7.2.19.tar.gz
# 進入
cd php-7.2.19

2.配置安裝參數

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir=/usr/include/freetype2/freetype --with-gd --with-gettext \--with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-fileinfo --disable-inline-optimization

3.編譯安裝

make && make install

4.生成配置文件

# 生成php.ini
cp php-7.2.19/php.ini-development /usr/local/php7/lib/php.ini
# 生成www.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
# 生成php-fpm.conf
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf

5.修改php-fpm的端口

vi /usr/local/php7/etc/php-fpm.d/www.conf
# 修改其中的listen 127.0.0.1:9000 端口爲9001
# user 和user_group根據情況修改

6.修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf
# 修改其中某個站點的fastcgi_pass 127.0.0.1:9000 端口爲9001

7.開啓第二個php-fpm,並重啓nginx

/usr/local/php7/sbin/php-fpm
/usr/local/nginx/sbin/nginx -s -reload
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章