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多版本共存的配置教程

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用微软官方工具下载安装Windows10系统

    使用微软官方工具下载安装Windows10系统准备安装盘首先准备一个8G以上容量的U盘,并从微软官网下载Windows10下载工具:https://www.microsoft.com/zh-cn/software-download/windows10注意在执行下面操作之前备份好您U盘上的数据,因为下面的操作会清空该U盘上的所有数据。制作过程双击打开下载到的MediaCreationTool1809.exe文件,弹出Wi…

    2022年5月20日
    30
  • 设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]

    设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]只需要在path中增加%JAVA_HOME%\bin;即可。完整的JDK安装及环境变量配置如下:安装JDK选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)安装jdkjre建议安装在默认位置。安装完JDK后配置环境变…

    2022年6月21日
    32
  • keil生成bin文件失败_编译后生成的文件扩展名为

    keil生成bin文件失败_编译后生成的文件扩展名为在KEIL魔术棒中通过以下方式生成bin文件时,居然出错,当时震惊了,第一次出现这种情况:使用的命令:fromelf–bin–output.\bin\APP.bin.\STM32_APP\STM32_APP.axf生成的bin文件,居然变成了文件夹!如下图:一开始以为是ROM地址设置的不对,找之前的工程来对比“魔术棒”中的配置,发现没有问题!然后怀疑是工程文件名称太长,或者下划线太多。。。重新新建工程,重命名文件夹等各种操作,发现问题依旧!然后嫉妒怀疑是KEIL的BUG.

    2022年10月20日
    1
  • 关于Android大数据收集,埋点统计的详细讲解以及案例代码分析附github代码

    关于Android大数据收集,埋点统计的详细讲解以及案例代码分析附github代码关于Android大数据收集,埋点统计的详细讲解以及案例代码分析附github代码一、背景分析目前大数据的分析对一款成熟的APP来说至关重要,特别是商业性的APP和金融类的APP都会对用户的行为进行分析,所以在APP中集成大数据的收集就显得很重要。目前来说,第三方的数据收集也挺多的,像是友盟,AOP切面收集等等,但是他们就是简单的集成,如果说在某些极端的情况下,项目中禁止添加额外的辅助,例

    2022年5月18日
    43
  • 根据前序遍历和中序遍历创建二叉树

    根据前序遍历和中序遍历创建二叉树Contents 前言四种遍历树的方法简介简介两种快速获得遍历结果的方法根据前序遍历和后续遍历创建树代码实现四种遍历树的方法的代码前言昨天参加了两场笔试 都考了这个题 第一场是根据 pre

    2025年10月22日
    2
  • kfold交叉验证_SPSS交叉验证法

    kfold交叉验证_SPSS交叉验证法一、前言在机器学习建模过程中,通行的做法是将数据分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最终模型的评估。在训练过程中,经常会出现过拟合的问题,就是模型可以很好的匹配训练数据,却不能很好在预测训练集外的数据。如果此时就使用测试数据来调整模型参数,就相当于在训练时已知部分测试数据的信息,会影响最终评估结果的准确性。通常的做法是在训练数据再中分出一部分做为验证(Validation)数据,用来评估模型的训练效果。验证数据取自训练数据,但不参与训练,这样可以相对客观的评估模型对于训

    2022年9月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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