编程语言
首页 > 编程语言> > 每个虚拟主机覆盖php_value

每个虚拟主机覆盖php_value

作者:互联网

我想为我的虚拟主机设置一个独特的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文件.有人可以开导我吗?
在此先感谢您的帮助.

解决方法:

我会将PHP设置放在目录指令中.您也应该将其作为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文件.

标签:apache,php,override,virtualhost
来源: https://codeday.me/bug/20190623/1275244.html