首頁 >後端開發 >php教程 >聊聊Nginx和Apache配置多版本PHP

聊聊Nginx和Apache配置多版本PHP

藏色散人
藏色散人轉載
2023-02-27 16:00:034150瀏覽

這篇文章為大家帶來了關於php的相關知識,其中主要跟大家聊一聊怎麼為Nginx和Apache配置多版本PHP,以及如何切割多個conf文件,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

聊聊Nginx和Apache配置多版本PHP

有時候我們的專案不可能都是同一個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

指定對應目錄即可。

推薦學習:《

PHP影片教學

以上是聊聊Nginx和Apache配置多版本PHP的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除