Heim  >  Artikel  >  Backend-Entwicklung  >  Die perfekte Lösung für die Unfähigkeit von PHP, große Dateien hochzuladen

Die perfekte Lösung für die Unfähigkeit von PHP, große Dateien hochzuladen

小云云
小云云Original
2018-05-11 17:56:0516958Durchsuche

本文我们主要和大家分享完美解决php无法上传大文件的方法,无法上传大文件是因为php.ini配置有限制了,这样限制了用户默认最大为2MB了,超过了就不能上传了,本文我们主要和大家分享完美解决php无法上传大文件的方法,希望能帮助到大家。

 参数  设置  说明 
 file_uploads  on  是否允许通过HTTP上传文件的开关。默认为ON即是开 
 upload_tmp_dir  –  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 
 upload_max_filesize  8m  望文生意,即允许上传文件大小的最大值。默认为2M 
 post_max_size  8m  指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M 
 说明 
 一般地,设置好上述四个参数后,在网络正常的情况下,上传a48be82851e462df7c77b5edcd0bd4cd8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。 
 max_execution_time  600  每个PHP页面运行的最大时间值(秒),默认30秒 
 max_input_time  600  每个PHP页面接收数据所需的最大时间,默认60秒 
 memory_limit  8m  每个PHP页面所吃掉的最大内存,默认8M 
 把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
 [编辑]论坛文件上传常见错误类型(不断总结中…)

 Warning: Unable to open ‘\\php2′ for reading: Invalid argument in e:\user\web\larksoft.net\upload\upfile.php on line 10

 是php的upload_tmp_dir的原因,所指定的目录必须可读可写

Parse error: parse error in c:\program files\apache group\apache\htdocs\mdweb\ftpfile\upload.php on line 14

 Parse error一般都是语句的问题,比如象“;”,“’”,“)”等等的匹配问题

 搞定了,是/etc/httpd/conf.d/php.conf里面,有一个

 <Files *.php>
  SetOutputFilter PHP
  SetInputFilter PHP
  LimitRequestBody 524288
  </Files>

 把LimitRequestBody 改了就可以了。
 如果你是Nginx的话还需要修改nginx.conf中的http段:
 1. 修改PHP配置文件中的三项:vim /usr/local/php/etc/php.ini
 (1)post_max_size = 50M      #PHP可接受的最大POST数据
 (2)upload_max_filesize = 50M   #文件上传允许的最大值
 (3)max_execution_time = 300   #每个脚本的最大执行时间,秒钟(0则不限制,不建议设0)
 2. 修改Nginx配置文件:vim /usr/local/nginx/conf/nginx.conf (如果忘了配置文件的具体位置,可以使用 locate nginx.conf 查找)
 (1)client_max_body_size 50m   #客户端最大上传大小 50M
 3. 重启PHP:/etc/init.d/php-fpm restart
 4. 平滑重启Nginx:/usr/local/nginx/sbin/nginx -s reload

相关推荐:

php实现文件上传的示例代码分享

php实现多文件上传的一种方法

php文件大小检测以及大文件上传处理

Das obige ist der detaillierte Inhalt vonDie perfekte Lösung für die Unfähigkeit von PHP, große Dateien hochzuladen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn