• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux系统下多版本php共存的解决方案(超简单)
    POST TIME:2021-10-16 17:53

    自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 = 50M
    upload_max_filesize = 50M
    date.timezone = PRC
    short_open_tag = On
    cgi.fix_pathinfo=0
    max_execution_time = 300
    disable_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.pid
    error_log = /usr/local/php54/var/log/php-fpm.log
    log_level = notice
    
    [www]
    listen = /tmp/php54-cgi.sock
    listen.backlog = -1
    listen.allowed_clients = 127.0.0.1:9001
    listen.owner = www
    listen.group = www
    listen.mode = 0666
    user = www
    group = www
    pm = dynamic
    pm.max_children = 40
    pm.start_servers = 20
    pm.min_spare_servers = 20
    pm.max_spare_servers = 40
    request_terminate_timeout = 100
    request_slowlog_timeout = 0
    slowlog = 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版本监听端口或进程名

    上一篇:Linux系统下为Nginx安装多版本PHP
    下一篇:值得收藏的27个Linux文档编辑命令
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信