在Apache中實作無需使用FPM的多個PHP版本使用方法
P粉287345251
2023-08-16 14:14:17
<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>
使用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佈局。
據我所知,您只能為主伺服器實例使用類似a2denmod(1)的標準實用程式。因此,請熟悉伺服器配置,Apache有很好的文檔,我個人非常喜歡它的配置。可能是因為我從大約Apache 1.3開始使用它。
然而,由於現在是2023年,Nginx PHP-FPM是一個非常好的組合。原始的Nginx是一個相當不錯的強大工具。