当前位置: 首页 > 后端技术 > PHP

为Nginx和Apache配置多个版本的PHP,剪切多个conf文件

时间:2023-03-30 02:46:48 PHP

有时候我们的项目不可能都拥有相同的PHP版本,需要为每个项目配置不同版本的PHP。Pagoda和PHPStudy是通过如下配置实现的:Nginx裁剪conf(非可选),在nginx.conf*.conf中加入includevhosts/;这样Nginx会自动导入当前目录->vhosts目录下的所有*.conf文件,方便每个项目单独管理Nginx配置文件。配置多个版本的PHP。添加服务器{听80;服务器名称本地主机;root到conf文件“D:/WWW”;location/{indexindex.phpindex.html;包含D:/WWW/nginx.htaccess;自动索引;}location~\.php(.*)${fastcgi_pass127.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;包括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版本Apachecuttingconf(非可选)在httpd.conf中添加Includeconf/vhosts/*.conf这样Apache会自动导入Apache安装目录->conf->vhosts目录下的所有*.conf文件,方便每个项目单独管理Apache的配置文件并配置多个版本PHP添加FcgidInitialEnvPHPRC"D:/Extensions/php/php8.2.2-nts"AddHandlerfcgid-script.phpFcgidWrapper"D:/Extensions/php/php8.2.2-nts/php-cgi.exe"配置文件。PHP可以指定对应的目录