翼度科技»论坛 编程开发 PHP 查看内容

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

4

主题

4

帖子

12

积分

新手上路

Rank: 1

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

切割conf(非选)

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

在conf文件中增加
  1. server {
  2.         listen        80;
  3.         server_name  localhost;
  4.         root   "D:/WWW";
  5.         location / {
  6.             index index.php index.html;
  7.             include D:/WWW/nginx.htaccess;
  8.             autoindex  on;
  9.         }
  10.         location ~ \.php(.*)$ {
  11.             fastcgi_pass   127.0.0.1:9010;
  12.             fastcgi_index  index.php;
  13.             fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
  14.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  15.             fastcgi_param  PATH_INFO  $fastcgi_path_info;
  16.             fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
  17.             include        fastcgi_params;
  18.         }
  19. }
复制代码
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添加
  1. Include conf/vhosts/*.conf
复制代码
这样Apache会自动引入Apache安装目录->conf->vhosts目录下的所有*.conf文件,方便每个项目单独管理Apache配置文件
配置多版本PHP

在conf文件里添加
  1. FcgidInitialEnv PHPRC "D:/Extensions/php/php8.2.2-nts"
  2.     AddHandler fcgid-script .php
  3.     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】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具