zoukankan      html  css  js  c++  java
  • Linux 安装多个php版本并配置

    我已经安装了php7.4,现在想再安装一个7.1,则

    mkdir -p  /lnmp/php71

    wget https://www.php.net/distributions/php-7.1.18.tar.gz

    tar -zxvf php-7.1.18.tar.gz

    cd php-7.1.18

    ./configure --prefix=/lnmp/php71 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd

    make

    make install

    cp php.ini-development /lnmp/php71/lib/php.ini

    重命名:

    cd /lnmp/php71/etc

    mv php-fpm.conf.default php-fpm.conf

    mv php-fpm.d/www.conf.default php-fpm.d/www.conf

    更改侦听端口(127.0.0.1:9000 为默认的):

    cd /lnmp/php71/etc/php-fpm.d

    vim www.conf

     修改配置文件php.ini(vim /lnmp/php71/lib/php.ini)

    cgi.fix_pathinfo=0

    启动php-pfm

    /lnmp/php71/sbin/php-fpm

    查看是否启动成功:

    ps aux|grep php

    若出现以下提示,则表示安装多版本php成功

    设置开机启动php

    vim /etc/init.d/php71-fpm

    添加以下命令行:

    #!/bin/sh 
    # chkconfig:   2345 15 95
     
    # description:  PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation 
     
    # with some additional features useful for sites of any size, especially busier sites.
    # DateTime: 2016-09-20
     
    # Source function library. 
    . /etc/rc.d/init.d/functions
     
    # Source networking configuration. 
    . /etc/sysconfig/network
     
    # Check that networking is up. 
    [ "$NETWORKING" = "no" ] && exit 0
     
    phpfpm="/lnmp/php71/sbin/php-fpm"
    prog=$(basename ${phpfpm})
     
    lockfile=/var/lock/subsys/phpfpm
     
    start() {
        [ -x ${phpfpm} ] || exit 5
        echo -n $"Starting $prog: " 
        daemon ${phpfpm}
        retval=$?
        echo 
        [ $retval -eq 0 ] && touch $lockfile
        return $retval
    }
     
    stop() {
        echo -n $"Stopping $prog: " 
        killproc $prog -QUIT
        retval=$?
        echo 
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
    }
     
    restart() {
        configtest || return $?
        stop
        start
    }
     
    reload() {
        configtest || return $?
        echo -n $"Reloading $prog: " 
        killproc ${phpfpm} -HUP
        RETVAL=$?
        echo 
    }
     
    force_reload() {
        restart
    }
     
    configtest() {
      ${phpfpm} -t
    }
     
    rh_status() {
        status $prog
    }
     
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
     
    case "$1" in
        start)
            rh_status_q && exit 0
            $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart|configtest)
            $1
            ;;
        reload)
            rh_status_q || exit 7
            $1
            ;;
        status)
            rh_status
            ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart|reload|configtest}" 
            exit 2
    esac
    

    其中,phpfpm="/lnmp/php71/sbin/php-fpm"  需要改成php程序执行的路径

    设置文件权限:

    chmod a+x /etc/init.d/php71-fpm

    加到开机启动项:

    chkconfig --add php71-fpm

    加入成功之后,可使用以下指令了

    service php71-fpm start

    service php71-fpm restart

    service php71-fpm stop

     

  • 相关阅读:
    .NET分布式架构开发实战之一 故事起源
    .NET 分布式架构开发实战之三 数据访问深入一点的思考
    .NET 分布式架构开发实战之二 草稿设计
    .NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)
    跨域SSO的实现之一:架构设计
    .NET下实现分布式缓存系统Memcached
    第一章 .NET的原理(2.0)
    Memcache协议中文版
    Excel数据导入Axapta中
    SQL Server2000的安装
  • 原文地址:https://www.cnblogs.com/jackzhuo/p/12761035.html
Copyright © 2011-2022 走看看