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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 资源网站链接_资源库在线

    资源网站链接_资源库在线1.rpm包下载www.rpmfind.netftp://rpmfind.net/linux2.根据依赖的库文件,查找相应的rpm包https://pkgs.org/3.Cacti相关监控模板https://docs.cacti.net/templates4.percona各版本备份数据工具下载(innobackupex、xtrabackup等)https…

    2022年4月19日
    89
  • Mac系统Unity3D中的快捷键

    Mac系统Unity3D中的快捷键command+N新建场景command+O打开场景command+S保存场景Shift+command+S场景另存为Shift+command+B编译设置command+B编译并运行command+zUndo撤销shift+command+zRedo撤销command+XCut剪切command

    2022年5月22日
    57
  • SQLServer中使用SUBSTRING截取字符串[通俗易懂]

    SQLServer中使用SUBSTRING截取字符串[通俗易懂]SUBSTRING返回字符、binary、text     或     image     表达式的一部分。有关可与该函数一起使用的有效     Microsoft®     SQL     Server™     数据类型的更多信息,请参见数据类型。  语法SUBSTRING     (     expression     ,     start     ,     length     )  参数expression是字符串、二进制字符串、text、image、列或包

    2022年5月23日
    134
  • sqlite database browser 下载_SQLiteDeveloper

    sqlite database browser 下载_SQLiteDeveloper介绍一个SQLitepc端工具,可以查看SQLite

    2022年9月9日
    0
  • c++多线程入门_c语言是单线程还是多线程

    c++多线程入门_c语言是单线程还是多线程多线程的优势线程创建更加快速线程间切换更加快速线程容易终止线程间通讯更快速C语言的多线程可以通过gcc编译器中的pthread实现。案例1:helloworld#include<stdio.h>#include<pthread.h>void*myfunc(void*args){printf(“helloworl…

    2022年10月21日
    0
  • 设置smtp服务器信息,SMTP服务器设置(IIS6.0)

    设置smtp服务器信息,SMTP服务器设置(IIS6.0)由IIS提供的简单邮件传输协议(SMTP)服务交付传出电子邮件的简单组件。消息的递送由消息传送到一个指定的SMTP服务器发起。根据收件人的电子邮件地址的域名,SMTP服务器启动与域名系统(DNS)服务器,它抬起头,然后返回该域的目标SMTP服务器的主机名通信。接下来,发起SMTP服务器直接通过传输控制协议/Internet协议(TCP/IP)端口25上的目标SMTP服务器通信,如果收件人的…

    2022年9月29日
    0

发表回复

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

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