我想为我的虚拟主机设置一个不同的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
在virtualhost .conf中设置值。我读过我要为AllowOverride
设置一个特定的值,我也试图在这里设置它,但是这段代码不起作用。
我想在每个虚拟主机部分下保留此设置,我不想使用.htaccess文件。有人可以开导我吗? 在此先感谢您的帮助。
答案 0 :(得分:5)
我会将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都会在Web服务器上扫描.htaccess文件。所以,即使你没有使用任何东西,它仍在寻找它们。因此,要消除小的性能损失,请关闭使用None
完成的htaccess文件。