在Apache中實作無需使用FPM的多個PHP版本使用方法
P粉287345251
P粉287345251 2023-08-16 14:14:17
0
1
566
<p>我在伺服器上安裝了兩個PHP版本 <code>7.2</code> 和 <code>7.4</code>。兩個版本都已啟用。 </p> <p>目前有一個專案正在使用 PHP <code>7.2</code>。我需要運行一個新項目,使用 PHP <code>7.4</code>。正如我之前提到的,我不會使用 PHP-FPM。經過一些研究,我應該使用<code>a2dismod php7.2</code> 和<code>a2denmod php7.4</code> 來停止<code>7.2</code> 版本並啟動<code>code> ;7.4</code> 版本。但在這種情況下,目前正在運行的專案將停止運作,因為它與版本 <code>7.2</code> 相容。 </p> <p>所以,有沒有辦法在不使用PHP-FPM 的情況下配置Apache,使其能夠處理在同一伺服器上運行的兩個不同項目,一個使用PHP <code>7.2</code>,另一個使用<code>7.4</code>? </p>
P粉287345251
P粉287345251

全部回覆(1)
P粉138711794

使用PHP作為Apache模組時,據我所知,每個伺服器實例只能載入一個PHP模組。

然而,與PHP-FPM類似,您可以執行兩個Apache伺服器實例。一個配置了PHP 7.2模組,另一個配置了PHP 7.4模組。

假設PHP 7.2模組的Apache是​​目前的伺服器實例,它將代理PHP 7.4應用程式的虛擬主機到新的第二個Apache伺服器實例。

這與Nginx和兩個PHP-FPM相似,只是使用了不同的Apache和Apache佈局。

+----------------------------------------------------+
         |                       +-------------+ + pool #1    |
         |                ,----> | PHP-FPM 7.2 | + pool #2    |
         |   +-------+ <--'      +-------------+ + ...        |
  WAN <====> | Nginx |     FCGI                               |
         |   +-------+ <--.      +-------------+ + pool #1    |
         |                '----> | PHP-FPM 7.4 | + ...        |
         |                       +-------------+              |
         +----------------------------------------------------+
+-------------------------------------------------+  
         |    +-------------+            +-------------+   |
  WAN <=====> | Apache #1   | <--------> | Apache #2   |   |
         |    |.............|    HTTP    |.............|   |
         |    | mod PHP 7.2 |            | mod PHP 7.4 |   |
         |    +-------------+            +-------------+   |
         +-------------------------------------------------+

據我所知,您只能為主伺服器實例使用類似a2denmod(1)的標準實用程式。因此,請熟悉伺服器配置,Apache有很好的文檔,我個人非常喜歡它的配置。可能是因為我從大約Apache 1.3開始使用它。

然而,由於現在是2023年,Nginx PHP-FPM是一個非常好的組合。原始的Nginx是一個相當不錯的強大工具。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板