我试图改变上传大小限制。 我知道我必须要改变这些指令,在Apache的配置(一些不能使用的ini_set改变)
php_value session.gc_maxlifetime 3600
php_value max_input_time 3600
php_value max_execution_time 3600
php_value upload_max_filesize 10M
php_value post_max_size 110M
不幸的是,我不能这样做,直接在<Directory>
我的虚拟主机,因为该目录始终是相同的(我使用的前端控制器,因此所有的请求都要经过的index.php和被分派到适当的控制器-我使用的Symfony)
我的问题,那么,如何避免这个问题? 我不想为整个应用程序设置这些值,只为一个具体行动。
这是可能的,这取决于你如何映射到前端控制器上。 如果您是通过重写规则做,那么你可以使用<Location>
,而不是<Directory>
块指定路径的一大块,你要更改设置。 <LocationMatch>
允许您使用正则表达式同样的事情。
如果你所有的外部URL的真正开始/index.php?
然后考虑设立一个重定向规则尤其是对这些请求:
RewriteEngine on
RewriteRule ^foo/$ ^/index.php [L]
<Location /foo/>
php_value ...
</Location>
如果不是的话,你需要告诉我们更多关于您的应用程序结构。
一个可能的解决方法是内实现你的行动,并有提出,文件中使用“自定义” URL的POST目标的脚本来创建一个PHP文件的目录。 处理输入后,你将通过回重定向到一个正常的网页index.php
。 这是不干净的,但它应该工作。
它也可能是值得考虑的正是你站在离这得到什么。
- 它没有任何意义,设置
session.gc_maxlifetime
在短短的一个动作(尤其是如果你正在增加它) - 限制
max_input_time
为一个小时也没有意义,如果max_execution_time
也1小时 -
max_execution_time
可以在运行时设置 - 其他两个指令不能在运行时设置,但POST的大小并不重要,并上传的文件大小可以在运行时进行检查和相应的处理
所以,这里有什么目的?