【问题标题】:PHP Uploading video not possible due to post_max_size由于 post_max_size,PHP 无法上传视频
【发布时间】:2022-01-24 16:00:29
【问题描述】:

我试图从 js 上传一个 600Mb 大的视频到我的 php 脚本,但是 php.ini 中的 post_max_size 不允许我这样做。由于虚拟主机提供商,我无法访问此文件,我无法在 .htaccess 中更改它。有没有什么办法可以避开这个限制,仍然上传一个比php.ini中的设置大的文件?

【问题讨论】:

  • 您应该询问您的托管服务提供商。如果他们说不可能,另一种解决方案是使用虚拟机。
  • 提供者表示无法更改此限制。
  • 使用chunk upload。将一个大文件切片并上传,所有文件上传完成后合并。

标签: php file file-upload video-upload


【解决方案1】:
  1. 您可以在脚本中设置upload_max_filesize ini_set("upload_max_filesize", "600M")

  2. 使用块上传

【讨论】:

  • 问题不在于upload_max_filesize,而在于post_max_size,我认为您无法更改这些设置。它们不是在我的 php 脚本启动之前就使用过,所以你不能改变它们吗?
【解决方案2】:

您可以尝试使用 .user.ini.htaccessini_set(在您的 php 脚本中)

对我来说 .user.ini 完美运行

  1. 在您的网络空间/工作目录上创建一个新文件(在 Linux 上为 0644).user.ini

    max_execution_time = 10000
    upload_max_filesize = 5000M
    post_max_size = 5000M
    

    这是我的网络空间上的配置文件 .user.ini,它可以工作。

    您可以根据需要更改值。

  2. 在您的网络空间/工作目录中创建一个新文件(在 Linux 上为 0644).htaccess

     php_value upload_max_filesize 1000M
     php_value post_max_size 1000M
    

    不要忘记文件开头的第一个点/点。

  3. 把它放在你的 php 脚本的开头

     ini_set('upload_max_filesize', '1000M');
     ini_set('max_execution_time', '1000');
     ini_set('memory_limit', '128M');
     ini_set('post_max_size', '1000M'); 
    

如果这不起作用(并且您不能修改 php.ini),请联系您的网络托管商并询问他,您可以做什么。

【讨论】:

    猜你喜欢
    • 2017-07-07
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    相关资源
    最近更新 更多