簡體   English   中英

覆蓋每個虛擬主機的 php_value

[英]Override php_value per virtualhost

我想為我的虛擬主機設置一個不同的upload_max_filesize 我在每個虛擬主機中都有一些 Web 應用程序,因此無法在 php.ini 中全局更改值,因為我希望每個虛擬主機都有自己的值。

所以我嘗試了以下方法:

<VirtualHost *:80>
 ServerName www.test.com
 ServerAlias test.com
 DocumentRoot /var/www/html/test/
 ErrorLog /var/log/httpd/test/error.log
 CustomLog /var/log/httpd/test/requests.log combined

 <Directory /var/www/html/test/>
  AllowOverride All
 </Directory>
 php_value upload_max_filesize 5M
</VirtualHost>
Alias /test /var/www/html/test/

換句話說,我正在嘗試使用php_value upload_max_filesize 5M設置虛擬主機 .conf 中的值。 我讀到我要為AllowOverride設置一個特定的值,我也試圖在這里設置它,但此代碼不起作用。

我想在每個虛擬主機部分下保留此設置,我不喜歡使用 .htaccess 文件。

我會將 PHP 設置放在Directory指令中。 您也應該將它作為 Apache 模塊運行。

確保你已經安裝了 mod_php 並且這在 Apache 配置中沒有被注釋掉。

LoadModule php5_module        modules/libphp5.so

那么你應該能夠使用這樣的東西。

<VirtualHost *:80>
 ServerName www.test.com
 ServerAlias test.com
 DocumentRoot /var/www/html/test/
 ErrorLog /var/log/httpd/test/error.log
 CustomLog /var/log/httpd/test/requests.log combined

 <Directory /var/www/html/test/>
  AllowOverride None
  <IfModule mod_php5.c>
     php_value upload_max_filesize 5M
  </IfModule>
 </Directory>
</VirtualHost>
Alias /test /var/www/html/test/

確保在配置更改后重新加載/重啟 Apache。 還注意到我將AllowOverride設置為None 你說你不想使用 .htaccess 所以你需要禁用使用 .htaccess 文件。 如果您將其設置為 All,Apache 會在每次收到請求時掃描網絡服務器以查找 .htaccess 文件。 所以即使你沒有使用任何,它仍然在尋找它們。 因此,為了消除小的性能影響,請關閉使用None完成的 htaccess 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM