繁体   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