如何在.htaccess中设置upload_max_filesize?


90

我试着把这2行

php_value post_max_size 30M
php_value upload_max_filesize 30M

在我的根.htaccess文件中,但是这给我带来了“内部服务器错误”消息...
php5正在服务器上运行,
我无法访问php.ini,因此我认为htaccess是我唯一的机会。
你能告诉我哪里错了吗?
提前致谢

Answers:


137

php_value upload_max_filesize 30M 是正确的。

您将必须与您的托管服务商联系-有些不允许您更改php.ini中的值


2
谢谢,但ini_set()无法用于upload_max_filesize和post_max_size:/
T1000 2010年

当您说“不工作”时,是指没有带来期望的结果/产生错误/其他问题?
凯里·琼斯2010年

设置error_reporting(E_ALL)看看是否有显示。除此之外,请与您的主机提供商联系,他们应该能够为您提供帮助。有些变量阻止此类变量的更改,因为它们不希望您成为主要的流量站点。
凯里·琼斯


许多主机不允许这样做,但是您也可以创建一个php.ini文件,将其放在网站的根目录中,并在此覆盖值。
ErikČerpnjak15年

37

如果收到500-内部服务器错误,则意味着您无权通过.htaccess设置这些值。您必须联系Web服务器提供商,并要求设置AllowOverride Options主机或将这些行放入其虚拟主机配置文件中。


谢谢。错误日志给了一些关于无效命令的废话,与“去更改虚拟主机配置文件”相去甚远。
Altimus Prime '18年

33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

.htaccess在最后一行中的所有内容之后使用所有3 in 。php_value post_max_size必须大于其余两个。


2
php_value post_max_size能否知道为什么必须比其余两个多的原因?
Anusha

@Anusha如果考虑到这一点,您可能正在发布包含两个30M文件和更多文本数据的文章,这将花费一些额外的字节,这可能是原因
giovannipds

12

要解决此问题,请创建一个名为php.ini的文件,并将其保存在与.htaccess文件相同的位置,然后输入以下代码:

upload_max_filesize = "250M"
post_max_size = "250M"

4
这仅适用于某些托管环境。在我的Web Fusion托管帐户上为我工作。
伊恩·贾米森

3

如果您的网络服务器正在运行php5,我相信您必须使用php5_value。这解决了我使用时收到的相同错误php_value


-2

这两个命令都是正确的

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

但是要使用.htaccess您必须rewrite_module在Apache配置文件中启用的。在httpd.conf找到这一行:

# LoadModule rewrite_module modules/mod_rewrite.so

并删除#


6
恕我直言,要启用.htaccess的使用,您需要做的只是将设置AllowOverridenonerewrite_module只有ModRewrite指令才需要加载。
RonaldPK '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.