设为首页 加入收藏

TOP

为Nginx和Apache配置多版本PHP、切割多个conf文件
2023-07-23 13:26:13 】 浏览:68
Tags:Nginx Apache PHP conf 文件

有时候我们的项目不可能都是同一个PHP版本,需要每个项目都配置不同版本的PHP,宝塔和PHPStudy就是通过以下配置实现的:

Nginx

切割conf(非选)

nginx.conf添加

include vhosts/*.conf;

这样Nginx会自动引入当前目录->vhosts目录下的所有*.conf文件,方便每个项目单独管理Nginx配置文件

配置多版本PHP

conf文件中增加

server {
        listen        80;
        server_name  localhost;
        root   "D:/WWW";
        location / {
            index index.php index.html;
            include D:/WWW/nginx.htaccess;
            autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9010;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

fastcgi_pass是PHP执行IP+端口
fastcgi_index默认PHP文件
fastcgi_split_path_info是正则
fastcgi_param是PHP所在目录(Nginx会自动获取赋值给$fastcgi_script_name)

假设我们有两个PHP版本,一个PHP5,一个PHP7,那么可以将他们分别运行在不同的端口上,然后通过设置fastcgi_pass参数来实现每个项目不同PHP版本

Apache

切割conf(非选)

httpd.conf添加

Include conf/vhosts/*.conf

这样Apache会自动引入Apache安装目录->conf->vhosts目录下的所有*.conf文件,方便每个项目单独管理Apache配置文件

配置多版本PHP

conf文件里添加

FcgidInitialEnv PHPRC "D:/Extensions/php/php8.2.2-nts"
    AddHandler fcgid-script .php
    FcgidWrapper "D:/Extensions/php/php8.2.2-nts/php-cgi.exe" .php

指定对应目录即可

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ThinkPHP钩子和行为获取回调参数.. 下一篇浅谈PHP设计模式的命令模式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目