PHP文件上传限制

PHP文件上传限制

我正在运行 CentOS。

我不太清楚 PHP 的标准最大上传限制,

但是我尝试上传一个 8MB 的文件,并且看到浏览器上显示正在加载状态,当文件大小达到 100 时,浏览器却没有任何反应。文件上传失败。

我的php.ini

upload_max_filesize = 50M

post_max_size = 50M

当我尝试使用 Filezilla 上传时,没有遇到任何问题。

答案1

PHP 在 POST 数据传输到服务器后执行。如果您要上传 1GB 的文件,那么当文件大小达到限制时,您的 Web 服务器将负责停止上传。这就是为什么您会看到 Web 浏览器在上传失败之前运行并完成上传的原因。

数据上传后,Web 服务器将执行 PHP。设置php.ini用于查看发布的数据是否超出允许的限制。如果超出,PHP 将拒绝它。

如果文件是通过已发布的表单上传的,则将post_max_size检查。表单是否提交了文件附件,或者只是包含大量数据,这都无关紧要。PHP 将检查此参数以查看已发布的数据是否太大。

set_time_limit(0);无法解决与上传时间过长相关的问题。因为 Web 服务器在收到所有已发布的数据之前不会执行 PHP。如果在将数据发送到服务器的过程中出现问题,那么问题可能出在 Web 服务器上。

Filezilla是一个 FTP/SFTP/FTPS 客户端,与 PHP 无关。

答案2

您正在使用什么网络服务器? - 检查网络服务器配置,通常那里也有一个最大文件大小的设置。

答案3

您是否尝试过使用较小的文件?

这个问题可能出自你的 PHP 脚本而不是服务器,或者尝试增加 PHP 执行时间:

set_time_limit(0);

相关内容