Linux系统下多版本php共存的解决方案(超简单)
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,自php7问世,身为最新版本控的我马上升级体验,但是由于服务器上还有旧程序在运行,只好部署一个php多版本共存环境。现有环境是lnmp- CentOS 6.7- nginx 1.10.1- maria
千家信息网最后更新 2025年12月01日Linux系统下多版本php共存的解决方案(超简单)
自php7问世,身为最新版本控的我马上升级体验,但是由于服务器上还有旧程序在运行,只好部署一个php多版本共存环境。
现有环境是lnmp
- CentOS 6.7
- nginx 1.10.1
- mariadb-10.0.26
- php 7.0.8
为了更好兼容旧的php程序,推荐使用5.4.45. 主要是兼容mysql扩展。
开始安装
首先要下载php-5.4.45.tar.gz源码包。
通过源码安装
# tar xzvf php-5.4.45.tar.gz# cd php-5.4.45# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl# make ZEND_EXTRA_LIBS='-liconv'# make install# cp php.ini-production /usr/local/php/etc/php.ini
php.ini 配置
post_max_size = 50Mupload_max_filesize = 50Mdate.timezone = PRCshort_open_tag = Oncgi.fix_pathinfo=0max_execution_time = 300disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
php-fpm.conf 配置
# vim /usr/local/php/etc/php-fpm.conf
[global]pid = /usr/local/php54/var/run/php-fpm.piderror_log = /usr/local/php54/var/log/php-fpm.loglog_level = notice[www]listen = /tmp/php54-cgi.socklisten.backlog = -1listen.allowed_clients = 127.0.0.1:9001listen.owner = wwwlisten.group = wwwlisten.mode = 0666user = wwwgroup = wwwpm = dynamicpm.max_children = 40pm.start_servers = 20pm.min_spare_servers = 20pm.max_spare_servers = 40request_terminate_timeout = 100request_slowlog_timeout = 0slowlog = var/log/slow.log
注意:重点是配置监听端口和进程
启动 php-fpm
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm# chmod +x /etc/init.d/php54-fpm# /etc/init.d/php54-fpm start
修改nginx配置,对需要的服务配置使用php-5.4.45
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php54-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }配置php-5.4.45 的php54-fpm 开机自动启动
# chkconfig --add php54-fpm# chkconfig php54-fpm on
chkconfig 功能说明:检查,设置系统的各种服务。
语法:chkconfig [-add][-del][-list][系统服务]
chkconfig [-level <等级代号>][系统服务][on/off/reset]
本方案的重点是
每个PHP版本都要安装在新的独立的文件夹里
每个PHP版本的php-fpm.conf配置文件都需要设置不同的进程名和监听端口
nginx配置文件中指定要使用的PHP版本监听端口或进程名
配置
版本
服务
系统
文件
端口
进程
监听
源码
环境
程序
重点
不同
中指
功能
文件夹
服务器
服务配置
语法
马上
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
轻松搭建网络流媒体服务器
北京软件开发驻场服务平台
服务器告示牌全隐藏了
网络安全手抄报的内容和图片
黑暗之魂1服务器登不上
戴尔服务器u盘启动按哪个
计算机网络技术基础考试试卷
用友数据服务器
石林品质软件开发市场报价
海南超频服务器产品介绍
贵阳有什么网络技术中专学校
体育视频软件开发
我的世界1.72 服务器
plsql连接数据库缓慢
时尚网络技术加盟费用多少
数据库集合串讲
三级网络技术是做什么的
大型软件开发项目管理经验分享
服务器集群 数据同步
猫猫软件开发
如何优化服务器
数据库保证正确性和一致性
大数据保障网络安全
数据脚本存放在数据库
网络安全攻防一体技术研究
有独立软件开发的金融公司
网络安全必读书
战地5怎么管理自己的服务器
惠普服务器不能开机
信息网络安全监管杜庆灵