php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本

php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本

大家好,又见面了,我是全栈君。

php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本

php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本

 

/usr/local/php/sbin/php-fpm -v #启动 php7.1

注意:

1 . 关闭这个应用文件  include enable-php.conf
2. 对于这个项目,使用你的   unix:/tmp/php72-cgi.sock

3. 重启 nginx :

service nginx restart    #reload 不生效

 

geekpanda.conf

server
    {
        listen 80 ;
        #listen [::]:80 default_server ipv6only=on;
        server_name geekpandalocal.com  www.geekpandalocal.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/newproject/uugeekpandashare;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        #include enable-php.conf; #1 . 关闭这个应用文件

        location /nginx_status
        {
            stub_status on;
            access_log   off;

        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location / {
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php?s=/$1 last;
            }
        }
         location ~ /\.
        {
          deny all;
        }

	 #2. 对于这个项目,使用php7.2
          location ~ [^/]\.php(/|$) {
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php72-cgi.sock;
                fastcgi_index index.php;
                include fastcgi.conf;
              }

        access_log  /home/wwwlogs/access.log;
    }

server
    {
        listen 80 ;
        #listen [::]:80 default_server ipv6only=on;
        server_name api.geekpandalocal.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/newproject/uugeekpandashare;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;

        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location / {
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php?s=/$1 last;
            }
        }
                location ~ /\.
        {
          deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }

================以下是参考===========

:安装

下载不同版本的PHP源码到服务器上,在编译安装时为不同的版本指定不同的路径,例如:

--prefix=/usr/local/php5.6 //指定PHP5.6版本的安装路径
--prefix=/usr/local/php7.2.3 //指定PHP7.2版本的安装路径
  •  

本地执行脚本指定PHP版本

安装好之后,如果需要在服务器端执行PHP脚本,假设已进入脚本的路径下,为test.php。使用不同版本PHP执行PHP文件的命令如下:

/usr/local/php5.6/bin/php test.php      //使用PHP5.6执行脚本
/usr/local/php7.2.3 test.php            //使用PHP7.2.3执行脚本
  • 也可以修改/etc/profile文件中的PATH环境变量,将需要的版本的PHP的bin目录加到环境变量中,这样,只要在任何路径下调用PHP,使用的都是在环境变量中设置的版本了。环境变量配置示例如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/php5.6/bin"
  •  
  • 指定浏览器访问时执行的PHP版本

先执行命令ps aux | grep php查看当前是否有php-fpm正在运行,如果有,将之关闭。
然后执行命令/usr/local/php5.6/sbin/php-fpm启动5.6版本的php-fpm,这样,前端访问服务器时,所有的脚本将由php5.6进行解释执行。

这样就实现了PHP多个版本的切换。

不过两个不同的php版本是通过编译安装的话,很容易出问题,因为他们倚赖的库的版本可能不一样,这样可能需要安装不同依赖版本的库就可以解决,有时间折腾可以尝试。

 

参考: php-fpm报502问题

 分享一下php7和其他php多版本共存的配置教程

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111609.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • webstorm激活码最新2021(注册激活)

    (webstorm激活码最新2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlb…

  • 台式机插入网线无网络问题

    台式机插入网线无网络问题1、先查看是否是ip地址无法获取:先找到“以太网”-“详细信息”像这样,就是表示无法正确获取ip地址及网关,接下来,就是手动配置ip及网关等参数这回还是点击“以太网”,点击属性点击协议版本4,点击属性,然后手动输入ip地址等参数即可。…

  • UCOSII操作系统 第1课—UCOSII的基础知识

    UCOSII操作系统 第1课—UCOSII的基础知识UCOSII操作系统1–UCOSII的基础知识前言:目前比较主流的操作系统有UCOSII、FREERTOS、LINUX等,UCOSII的资料相对比其余的两个操作系统的资料还是非常全面的。此次专栏涉及到的API的使用是非常小的,仅仅作为本人学习的记录。后期也会对比UCOSII说出实现的更多功能的代码。参考书籍:《嵌入式实时操作系统μCOS-II原理及应用》、《嵌入式实时操作系统uCOS-II邵贝贝(第二版)》学习代码的出处:http://bbs.elecfans.com/jishu_345856_

  • 小代码改进

    小代码改进

  • CSRF——攻击与防御

    CSRF——攻击与防御

    2021年11月29日
  • WireShark抓包分析

    WireShark抓包分析简述:本文介绍了抓包数据含义,有TCP报文、Http报文、DNS报文。如有错误,欢迎指正。1、TCP报文TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。T

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号