我有一个上传系统在PHP中,我想要它上传大文件,有些可能会达到200MB。 这意味着它不仅会占用大量带宽,服务器内存空间,而且还会花费大量的时间来上传这些文件。 现在我有一个系统工作,但似乎失败时,试图上传一个大文件。 我已经testing了一个22MB的文件,它的作用就像一个魅力,无论是谁,当我把这个文件大约89.4mb失败,它经历了整个上传过程,但是当它试图发布文件它给了我一个错误。 不,我已经在php.ini文件中更改了一些设置: 的upload_max_filesize 的post_max_size max_input_time设置 的max_execution_time memory_limit的 然后我意识到,我的IIS服务器有一个执行时间限制设置,这是在约2分钟,所以我做了这个约30(注意在testing我上传的80.4mb文件大约23分钟左右)。 我得到的错误是“404 – 文件或目录未find”。 这很奇怪,因为对于较小的文件不这样做。 我能想到的唯一的事情是,有一个设置在我的Windows服务器,正在停止我的系统从临时文件移动这样的大文件到正确的目录….或者也许临时文件无法处理这样的文件尺寸? 所以,我想知道是否有人可以写一个需要更新的设置的清单,以便像这样上传大文件,因为我几乎在那里,这只是阻止我。 提前致谢。
我正在寻找(一段时间以来,有些绝望)的工具,我想大多数web开发者需要: 一个快速,“懒惰”又名“差分”FTP上传工具。 要快速上传(没有多less服务器端检查)从我的开发人员(客户端)到我的networking服务器很less更改的文件。 在Windows下。 最好是可编写脚本的,所以优选命令行可执行文件(或jar)。 如果恕我直言是一个共同的需要,但我还没有发现任何令人信服的: 99%的时间(超过最初的下载)我只想推送很less更改的文件(但尽快) 是的,我知道:FAT文件系统有时间精度问题,客户端与服务器可能有顶时区问题…迭代服务器端检查时间戳(不足),时间戳,校验和(昂贵),当然都需要时间。 => 我将是足够的和最有效的,纯粹在客户端跟踪更改 (读取:维护目录树的校验和列表)。 因为我从一个客户端正确地上传到一个服务器。 因此,不应该把“被蒙上眼睛的”懒惰的差别模式作为最好的解决scheme,而且还需要更多的时间呢? (2秒对15秒对我来说意味着这个世界)。 我宁愿SFTP有一个稍高的安全级别。 但是,我的(廉价)networking托pipe只允许密码authentication(如正常的FTP),而不是私钥authentication(所以除了使其更复杂,腻子等不是一个选项,如果我理解正确…) 我宁愿避免必须处理一个单独的SSL工具,腻子,CygWin …一个单一的.exe(或.jar)被调用所需的参数将是niiiiice,所以可以弥补他的upload_clientA.bat并停止考虑此事… 排除是必要的。 从上传(即psd's)中排除的几个文件夹/文件,还有服务器上的一些文件(configuration文件不会被我的开发configuration覆盖)必须不受客户端更改的影响。 这就是我所需要的。 松散地说,这可以归结为: foo.exe upload -s:d:\depot\webroot -t:ftp.mywebhost.com:1234/www/ -mode:sftp -u:me -P:youwish -lazyMode -exclude /wp-config.php /cache/* /someElse 看着… 现在,我正在使用一个比较老的程序fsync ,它非常接近,但是它没有SFTP。 实际FTP上传还需要5-15秒钟。 是的,我听说过好的旧的linux / unix工具rsync,但我不确定是否能满足所有这些。 听起来像我需要事先build立SSL层,进入Cygwin … SyncBack可能会做这项工作,除了获得SFPT意味着购买专业版。 据我所知,并没有快速的“蒙眼模式”。 我不知道如何除目标端选定的(configuration)文件… 被允许在服务器上安装git可能是一个胜利者…但是…不是一个机会… 有人知道一个简单,快速的命令行工具吗?
我已经build立了一个备份服务器与centos 6,一切工作正常。 我使用的是纯FTP服务器,我可以上传和下载文件到服务器和。 当我尝试从其他服务器发送一个大文件到此备份服务器时,会发生问题。 如果文件小于800mb〜1000mb,转移正在工作,但如果我尝试上传更大的文件,它会在传输过程中挂起。 我没有得到任何错误消息,它只是停下来,我注意到当腻子显示错误超时消息,或者如果我login到备份服务器,看到上传已经停止。 我已经尝试从其他服务器上传同一个文件到第三个服务器,这是可以的,但是当我尝试上传到我的备份服务器,它挂断了。 什么时候会停止,有时候是0.9GB,1.2GB,1.5GB,1.8GB。 文件大小为2.2GB。 文件被压缩,并且是tar.gz. 我更换了3根网线,其中一根由networking供应商提供,但仍然是同样的问题。 路由器是Cisco epc3925。 我已经尝试了几个LAN卡,然后换了电脑,最后用全新的安装了centos 6的电脑,但是还是一样的问题。 如果我尝试上传小于800 MB的文件,该过程成功完成。 另外我已经在备份服务器上创build了3GB的文件,然后尝试通过ftp localhost连接上传,成功了。 我已经通过ftp从同一个networking的其他计算机连接,并且已经成功上传了总共4GB的文件,但是我需要从不在这个networking的计算机上传。 我需要补充一点,我试图通过sftp和scp传输相同的文件,并且成功,但是它比ftp慢了4倍。 当我上传时检查networking连接,我得到了这个结果 资源 tcp 1 75921 173.249.154.250:44672 89.216.114.136:30201 ESTABLISHED 目的地 tcp 0 0 192.168.0.2:21 173.249.154.250:47484 ESTABLISHED 1736 / pure-ftpd(UPL tcp 0 0 192.168.0.2:30201 173.249.154.250:44672 ESTABLISHED 1736 / pure-ftpd(UPL tcp 0 196 192.168.0.2:22 178.212.88.183:54641 ESTABLISHED 1696 […]
当用户在我的服务器上传非常大的文件时,我想生成一个“Request Entity Too Large”错误。 用mod-php ,这很简单: <FilesMatch "^(upload|replace)$"> LimitRequestBody 3000000 </FilesMatch> 用php-fpm ,我尝试了“ <LocationMatch "^/(upload|replace)$"> LimitRequestBody 3000000 </LocationMatch> 但是,它没有工作。 接下来,我尝试在VirtualHost设置代理环境variables: SetEnv proxy-sendchunked ProxyPassMatch ^/([^\.]+)$ fcgi://127.0.0.1:9000${docroot}/$1 它也没有工作。 谁能告诉我如何做到这一点? 谢谢。
我对networking世界相当陌生,请和我一起裸照。 在我公司的局域网上,我们正在经历着较低的上传带宽。 下载带宽是好的。 我们通过ISP上下10Mbps,但是上传速度大约为1 Mbps(下载大约9.7)。 这整个一天都是一致的。 大约一周前我注意到了这个趋势。 我们使用的唯一服务将会影响这个备份,但是我们只使用碳酸盐来处理文件,而且我们已经使用了很多年,没有任何问题。 对于一个快速和肮脏的描述,我们有Netscreen防火墙,一个networking服务器,数据库服务器,并在它后面是一个防火墙客户端服务器。 在ISA之后,我们有我们的域控制器,员工计算机等等。我们还有一个SAN环境,带有几个月前安装的专用vLAN。 我绕过它来testing带宽,排除ISA作为问题。 我检查了所有设备上的带宽使用情况,我没有看到任何问题。 我断开了一切后面的ISA,没有任何改变。 互联网服务提供商表示,我们仅使用我们上传带宽的30%,在上午一小段时间内峰值接近100%。 这可能是一个物理层的问题? 接下来我应该检查什么途径? 我想知道是否有可能有一个坏的路由器。 任何input赞赏! 玩笑
我无法上传大于2GB的文件。 最大的上传/张贴值先前设置为2500MB,所以我认为这是问题所在。 第一, # php –version PHP 5.3.3 (cli) 我如下设置upload_max_filesize和post_max_size # vi /etc/php.ini post_max_size = 5500M upload_max_filesize = 5500M [write/quit vi] 下一个, # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] 然后我用phpinfo()脚本确认了新的configuration: post_max_size 5500M 5500M upload_max_filesize 5500M 5500M 我回到我的脚本上传另一个大的数据文件(~4GB),并再次被告知,上传的文件超过了upload_max_filesize值。 所以,我不知所措。 我能够上传2GB和更小的文件没有问题。 我已经重新启动Apache,不知道从哪里去。
我运行的drupal网站得到一个错误,说php的限制是2Mb。 我把它从/etc/php5/apache2/php.ini改成了10。 这不作任何改变(即时通讯使用phpinfo来看是否有任何更改上传限制已经发生)。 任何人都可以build议可以做什么?
我有FINTCGI php-fpm 127.0.0.1:9000的NGINX服务器,其中php.ini位于/etc/php5/fpm/php.ini 我在php.ini中增加了upload_max_filesize和post_max_size Fastcgi params就是这样的 fastcgi_param PHP_VALUE "upload_max_filesize = 200M post_max_size=200M" 我甚至增加了nginx.conf文件中的client_max_body_size。 但每个file upload甚至小于1MB,我得到的最大尺寸超过! 任何想法请
我有一个文件传输站点,允许用户上传数据到传入的目录。 上传将被encryption,然后移出传入目录并进入不能直接从服务器应用程序访问的存档目录。 另外四个用户需要使用encryption文件。 他们将从存档目录中下载encryption文件并在其工作站上解密。 我认为: 如果使用密码(对称),并且四个人中的一个人离开组织,他们仍可能知道encryption数据的密码。 即使他们可能没有物理访问文件,攻击vector仍然存在。 为了缓解,所有当前的档案文件都可以被解密,并用新的密码重新encryption,但是这只有在文件大小和数量接近有害的处理时间之前才起作用。 如果使用共享密钥(不对称),所有文件需要encryption四次(每个pub-key一个文件)。 这增加了工作stream程的混乱,显然现在消耗的存储容量是现在的4倍。 encryption文件与多人共享的最佳方法是什么?
rsync的 zsync 在linux上还有其他更好的同步/备份工具吗? 我有一个本地安装我的网站,一个维基。 我希望对本地站点进行更改,然后只想按下button:D或在命令行上运行该命令,它应该检查本地文件与活动站点文件的差异,我希望的方向。 这就是为什么filezilla / cuteFTP将无法正常工作,因为他们不执行任何差异,将非常低效地只是replace完整的文件夹。 如果有任何可用于rsync / zsync的前端,那将是非常棒的。 最好zsync作为网站,它是调整http传输。