我們有這樣的情況: - Apache上運行的mod_perl - 用自己的目錄 多個虛擬主機 - 每個虛擬模塊具有Perl模塊相同的名稱(開發主機,模塊不同的一點點,但有相同的名稱) - Apache2 :: Reload爲每個虛擬主機重新加載模塊更改的mod_perl和多個虛擬主機
但apache拋出500錯誤的每頁1/3請求重新加載頁面,並沒有在日誌中的具體錯誤,只有警告關於「重新定義功能「。
也許有一些要求運行相同的模塊名稱,但不同的路徑,並將它們區分開來?
我們有這樣的情況: - Apache上運行的mod_perl - 用自己的目錄 多個虛擬主機 - 每個虛擬模塊具有Perl模塊相同的名稱(開發主機,模塊不同的一點點,但有相同的名稱) - Apache2 :: Reload爲每個虛擬主機重新加載模塊更改的mod_perl和多個虛擬主機
但apache拋出500錯誤的每頁1/3請求重新加載頁面,並沒有在日誌中的具體錯誤,只有警告關於「重新定義功能「。
也許有一些要求運行相同的模塊名稱,但不同的路徑,並將它們區分開來?
下面是它如何做的:
NameVirtualHost 192.168.0.140
<VirtualHost 192.168.0.140>
PerlOptions +Parent
PerlSwitches -Mlib=/path/to/application
DocumentRoot /path/to/application
ServerName name.domain.com
</VirtualHost>
不,您不能「運行相同的模塊名稱,但具有不同的路徑」。 Perl不會那樣工作。如果你想擁有多個環境,請將它們分開。您可以在各種端口上運行具有不同配置的許多Apache實例(請參閱-f *configfilename*
選件)。然後在主服務器的每個虛擬主機中,將代理反向代理到相應端口上的後端服務器。