Met*_*iel 5 php apache overriding 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/
Run Code Online (Sandbox Code Playgroud)
换句话说,我正在尝试使用来在virtualhost .conf中设置值php_value upload_max_filesize 5M
。我读过我想为它设置一个特定的值AllowOverride
,我也试图在这里设置它,但是这段代码不起作用。
我想将此设置保留在每个virtualhost部分下,我不希望使用.htaccess文件。有人可以启发我吗?在此先感谢您的帮助。
我会将PHP设置放入该Directory
指令中。您也应该将此作为Apache模块运行。
确保已安装mod_php,并且在Apache配置中未对此进行注释。
LoadModule php5_module modules/libphp5.so
Run Code Online (Sandbox Code Playgroud)
然后,您应该可以使用类似这样的东西。
<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/
Run Code Online (Sandbox Code Playgroud)
确保在配置更改后重新加载/重新启动Apache。还注意到我设置AllowOverride
为None
。您说您不想使用.htaccess,因此您需要禁用.htaccess文件。如果将其设置为All,则Apache每次收到请求都会在Web服务器上扫描.htaccess文件。因此,即使您没有使用它们,它仍在寻找它们。因此,要消除对性能造成的小影响,请关闭htaccess文件(使用完成)None
。