半夜 发表于 2023-2-17 00:49:18

为Nginx和Apache配置多版本PHP、切割多个conf文件

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

切割conf(非选)

在nginx.conf添加
include vhosts/*.conf;这样Nginx会自动引入当前目录->vhosts目录下的所有*.conf文件,方便每个项目单独管理Nginx配置文件
配置多版本PHP

在conf文件中增加
server {
      listen      80;
      server_namelocalhost;
      root   "D:/WWW";
      location / {
            index index.php index.html;
            include D:/WWW/nginx.htaccess;
            autoindexon;
      }
      location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9010;
            fastcgi_indexindex.php;
            fastcgi_split_path_info^((?U).+\.php)(/?.+)$;
            fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
            fastcgi_paramPATH_INFO$fastcgi_path_info;
            fastcgi_paramPATH_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指定对应目录即可

来源:https://www.cnblogs.com/cxfs/p/17126799.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 为Nginx和Apache配置多版本PHP、切割多个conf文件