Git   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了减lessPHP中的内存消耗,同时通过phpinput处理上传大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有Nginx 1.0.5 + php-cgiPHP 5.3.6)运行。 我需要上传〜1GB的文件(1-5个并行上传必须)。 我试图通过ajax上传创build上传文件。 一切正常,但PHP为每次上传都占用大量内存。 我已经设置了memory_limit = 200M,但它的工作上传文件的大小约150MB。 如果文件较大 – 上传失败。 我可以设置memory_limit越来越大,但我认为这是错误的方式,因为PHP可以吃所有的内存。 我使用这个PHP代码(简化了)来处理服务器端的上传

$input = fopen('PHP://input','rb'); $file = fopen('/tmp/' . $_GET['file'] . microtime(),'wb'); while (!feof($input)) { fwrite($file,fread($input,102400)); } fclose($input); fclose($filE);

/etc/Nginx/Nginx.conf:

user www-data; worker_processes 100; pid /var/run/Nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic SetTings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 2g; # server_tokens off; server_names_hash_max_size 2048; server_names_hash_bucket_size 128; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/Nginx/mime.types; default_type application/octet-stream; ## # Logging SetTings ## access_log /var/log/Nginx/access.log; error_log /var/log/Nginx/error.log; ## # Gzip SetTings ## gzip on; gzip_disable "msie6"; include /etc/Nginx/conf.d/*.conf; include /etc/Nginx/sites-enabled/*; }

/etc/Nginx/sites-enabled/srv.conf:

server { listen 80; server_name srv.project.loc; # Define root set $fs_webroot "/home/andser/public_html/project/srv"; root $fs_webroot; index index.PHP; # robots.txt LOCATIOn = /robots.txt { alias $fs_webroot/deny.robots.txt; } # Domain root LOCATIOn / { if ($request_method = OPTIONS ) { add_header Access-Control-Allow-Origin "http://project.loc"; add_header Access-Control-Allow-Methods "GET,OPTIONS,POST"; add_header Access-Control-Allow-Headers "Authorization,X-requested-With,X-File-Name,Content-Type"; #add_header Access-Control-Allow-Headers "*"; add_header Access-Control-Allow-Credentials "true"; add_header Access-Control-Max-Age "10000"; add_header Content-Length 0; add_header Content-Type text/plain; return 200; } try_files $uri $uri/ /index.PHP?$query_String; } #error_page 404 /404.htm LOCATIOn ~ index.PHP { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILename $fs_webroot/$fastcgi_script_name; include fastcgi_params; fastcgi_param requEST_METHOD $request_method; fastcgi_param PATH_INFO $fastcgi_script_name; add_header Pragma no-cache; add_header Cache-Control no-cache,must-revalidate; add_header Access-Control-Allow-Origin *; #add_header Access-Control-Allow-Headers "Content-Type,X-File-Name"; } }

任何人都知道如何减lessPHP的内存消耗? 谢谢。

当我尝试在Windows Server 2008中上传二进制文件时,LibCURL发送文件名而不是文件内容

让我的Rails应用程序接受大文件

文件PHP上传下降(没有错误

SVN – 如何上传单个文件

PHP错误上传文件

通过file upload到PHP来curlPUT请求

在Windows中安装ImageMagick for paperclip gem

cURL将file upload到MS Windows上的远程服务器

wordpress忽略HHVM上传最大文件大小

PHP在Linux服务器上保存错误编码的上传文件

一个黑客,这是伪造内容类型标题,把它从application/octet-stream multipart/form-data 。 它将阻止PHP填充$ HTTP_RAW_POST_DATA。 更多细节https://github.com/valums/file-uploader/issues/61 。

之前已经在同一只鞋子中,这是我在上传过程中将文件分成不同的块。

我很好的例子是使用[1]: http ://www.plupload.com/index.PHP“pulpload”或尝试使用Java小程序http://jupload.sourceforge.net它也有恢复能力,当有网络问题等等

最重要的是,你希望你的文件通过网络浏览器上传,注意阻止你这样做大块

你为什么不尝试使用闪光上传文件。 例如,你可以尝试swfupload ,它对PHP有很好的支持

大佬总结

以上是大佬教程为你收集整理的减lessPHP中的内存消耗,同时通过phpinput处理上传全部内容,希望文章能够帮你解决减lessPHP中的内存消耗,同时通过phpinput处理上传所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: