Nginx和Apache怎么配置多版本PHP

后端开发   发布日期:2023年07月14日   浏览次数:544

这篇文章主要讲解了“Nginx和Apache怎么配置多版本PHP”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx和Apache怎么配置多版本PHP”吧!

有时候我们的项目不可能都是同一个 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

指定对应目录即可。

以上就是Nginx和Apache怎么配置多版本PHP的详细内容,更多关于Nginx和Apache怎么配置多版本PHP的资料请关注九品源码其它相关文章!