【发布时间】:2011-03-16 20:42:36
【问题描述】:
是否可以使用 PHP 上传 ~100 MB 的文件?
如果是这样,配置文件 (php.ini) 需要进行哪些更改?
斯里
【问题讨论】:
-
“可能”!==“好主意”
-
@symbcbean 我想说这真的取决于,不是吗?如果您有某种面向公众的上传界面并且您不能使用 FTP...
是否可以使用 PHP 上传 ~100 MB 的文件?
如果是这样,配置文件 (php.ini) 需要进行哪些更改?
斯里
【问题讨论】:
以下选项是相关的:
ini_set())可能
【讨论】:
在你的php.ini调整值:
file_uploads = On
upload_max_filesize = 100M //needs to be in {x}M format
并允许更大的帖子大小:
post_max_size = 100M
【讨论】:
要允许使用 PHP 进行更大的上传,您必须更改 php.ini 文件中的一些设置(upload_max_filesize、max_input_time、memory_limit、max_execution_time、post_max_size)。您可以在您的 PHP 安装目录下找到您的 php.ini 文件,以及有关所需设置的更多信息here。
【讨论】:
max_input_time,+1。但max_execution_time 和memory_limit 并不真正适用 - 如果上传的文件只是移动到另一个位置,则不适用。
这让我很困惑,所以只想补充一下:
如果您的项目也使用 nginx(例如 buildpack),您可能必须将 client_max_body_size 100M; 添加到您的 nginx.conf 文件中,因为 nginx 默认仅使用 @987654324 @ (1 MB) - 除了上面提到的 PHP 设置。
关于 PHP 设置,我在项目的根级别创建了一个 .user.ini 文件,以更改我想要从默认 php.ini 文件覆盖的一些设置。
在我的设置中(使用dokku)它位于/etc/nginx/nginx.conf,然后通过nano nginx.conf 添加了额外的行。我不直接使用 nginx,但我的 buildpack 会添加它。
希望这可以帮助某人:)
【讨论】:
你只需要在php.ini文件中更改服务器的超时时间和最大文件大小。
http://blog.jc21.com/2007-05-03/change-the-maximum-upload-size-with-php/
编辑:您可能不需要更改服务器的超时时间,因为这实际上取决于您在哪个服务器上运行。
【讨论】: