Articles of 上传

奇怪的PHP上传行为

我们正在上传10个文件到我们的PHP前端(总共4MB),Chrome总是返回“连接closures”,就像服务器放弃了http请求一样。 当然,我们尝试了所有的浏览器,Windows和Mac,甚至尝试了不同的ISP,所以我们可以排除问题是客户端。 这只发生在生产环境中,但是我们有一个相同的testing环境(但是在不同的虚拟机中),并且问题不会出现在它(事件使用相同的10个文件)中。 # php.ini max_execution_time = 30 max_input_time = 60 memory_limit = 128M max_file_uploads = 20 file_uploads = On post_max_size = 50M upload_max_filesize = 12M 我们甚至尝试更大的文件,有时它的工作。 但在某些情况下,对于某些文件,它不起作用(文件区域基本上是图像和PDF) 看着Apache / PHP的日志,没有证据表明发生了错误,似乎一切都很好。 访问日志显示POST / mypage 200 我们已经在这个奇怪的问题上花了12个小时,但是我们仍然无法弄清楚问题所在。

上传任何文件时,Apache会发生段错误

我已经在Amazon EC2微型实例上安装了默认的Ubuntu Server 12.04。 我已经安装了通常的,PHP,Apache,MySQL等。一切运行正常,直到我尝试通过PHP上传一些文件。 文件大小无关紧要。 它甚至发生5kb的jpeg文件。 我得到的是: [Thu Nov 08 18:52:11 2012] [notice] child pid 1199 exit signal Segmentation fault (11) 当我执行相同的代码,但没有提到图像,它的作品(但我需要的形象,当然) 我必须注意到,完全相同的代码在OpenSUSE 11.1机器上运行良好,我只是将其移到Amazon实例上进行进一步testing。 我已经安装了几十个服务器,从来没有遇到过这个错误。 我真的被卡住了,因为我找不到任何相关的东西。 uname -a给出 Linux server 3.2.0-31-virtual #50-Ubuntu SMP Fri Sep 7 16:36:36 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux Apache / 2.2.22(Ubuntu),PHP 5.3.10-1ubuntu3.4 PHPvariables: post_max_size 150M memory_limit 256M upload_max_filesize 150M […]

文件夹权限为755时的权限错误

可能重复: 什么是最好的Linux权限用于我的网站? 当我试图用PHP上传文件到一个文件夹,该文件夹应该有777的权限,但这是一个安全风险,我想为文件夹权限设置755,但在这个权限PHP不能上传文件。 我该怎么办 ? 服务器:Linux CentOS 控制面板:Kloxo 根访问:是的

如何减慢Windows 7上的FTP上传

我有一个应用程序,在Windows 7或8上使用FTP,它没有试图上传一个文件(超时,服务器发送回RST包,所以它肯定是不愉快的服务器)到特定的服务器。 与命令行ftp相同的问题。 与FileZilla它也失败,除非我打开速度限制(以2kB /秒上传),然后它工作正常。 那么,我如何减慢通用ftp,我假设应用程序正在使用? (这可能是一个错误的假设,因为我真的不知道应用程序如何调用ftp。)还是有另一种方法来configuration数据包大小或其他方式来限制数据。 我通过防火墙查看数据包,当他们从我的Linux机器上传576字节的数据包时,它工作正常,但是当它在596从我的Windows窗口,它失败。 我不知道数据包的大小是否与它有关。 它正在上传到一个不显然是非常新的Windows服务器。 更新:与速度无关,与数据包大小无关。 默认的服务器数据包允许536个字节的数据,而且默认的客户端大小要大得多,所以当服务器通过发送RST数据包而收到一个太大的数据包时,服务器会抱怨,而客户端不会再以较小的大小再次尝试。再次以相同的大小,或者如果它确实那么我的防火墙不允许它的工作。 如果有人可以解释,我会很感激。 与此同时,服务器的所有者翻转了一个允许“碎片包”的交换机,现在它工作。

PHP:不能增加最大上传限制

我在Debian Squeeze上使用Apache + PHP 5.3.3-7,从版本库安装。 Debian Squeeze中的PHP发行包括Suhosin补丁。 我有问题上传文件大于cca 4 MB,一些不可见的限制,防止PHP接受上传。 在php.ini我有: 设置upload_max_filesize = 50M 设置post_max_size = 50M 设置memory_limit = 256M 设置max_execution_time = 120 设置max_input_time = 120 在suhosin.ini : suhosin.memory_limit = 256M suhosin.post.max_value_length = 50000000 suhosin.request.max_value_length = 50000000 suhosin.post.max_vars = 200000 suhosin.request.max_vars = 200000 我真的怀疑最后两个是重要的,但我被build议增加它们。 我知道确实PHP实际加载configuration值正确,因为phpinfo()符合我的期望。 我期望能够上传一个文件高达50MB,但上传4MB已经失败。 正常PHP每站点日志中没有logging错误。 而且我确定有足够的空间来保存上传的文件。 似乎有一些其他无形的限制,防止我上传文件。 这可能是什么? 也许Apache本身? 从来没有听说过这个限制。 我花了近一个星期的时间,而且我和客户一样绝望。 任何提示,欢迎。

抓取上传的恶意文件的mod_security2和clamav

是否有明确的文件来描述解决scheme? 这是非常普遍的,也是必要的。

PHPfile upload失败的大文件

使用一个简单的PHP脚本,当我尝试上传大于1MB的文件时,通过给出这个不明确的错误失败: 一般上传失败。 Nginx错误日志不显示任何证据。 我已经在php.ini中设置了: upload_max_filesize = 200M post_max_size = 200M memory_limit = 128M 在nginx.conf中我有: client_max_body_size 200M; 奇怪的是,脚本用于在同一台服务器(在Debian服务器uprade之前)上运行良好,并且在另一台服务器上运行的nginx和phpconfiguration相同。 所以我真的没有想法,所以感谢你的帮助。

什么是一些networking问题,可能导致我的file upload失速和失败?

我有一个file upload,应该是用来上传video文件到我公司的网站。 在办公室,上传一直停止(卡住一个百分比,不会再移动,即使我让它坐几个小时),或平坦失败。 当我尝试从家庭Internet连接上传文件时,我没有任何问题。 这让我觉得我们办公室的networkingconfiguration中有一些东西是造成这个问题的原因。 我确定我们有足够的带宽。 我们在办公室有20/20光纤连接。 而在家里,我只有一个3/4的WISP连接。 我在哪里可以开始寻找解决问题? 我应该从路由器/防火墙开始? 如果是这样,我不知道我想看看哪些设置。 我注意到file upload的请求头包含以下几行,但是,我不知道这些可能会如何影响上传,如果有的话: Connection: keep-alive Content-Length: 155155400 Content-Type: multipart/form-data; boundary=———-GI3cH2Ef1ae0cH2ae0Ij5gL6ae0GI3 Accept: */* Accept-Encoding: gzip,deflate,sdch 任何帮助都不胜感激。 -Jonathan

非常高的写入IO等待时间

每当我从cPanel备份的系统将备份上载到位于同一机架下方的辅助存储服务器时,写入IO等待时间都会很长。 它们使用30厘米电缆直接连接在二级千兆位端口上。 我试了两个cPanel备份系统,都导致同样的问题。 自那时以来,我一直在禁止更大的帐户,但这不是一个解决scheme。 有没有人有一个想法?

Windows Server 2003出站FTP在启用Windows防火墙的情况下速度非常慢

从Windows Server 2003开始,我每天凌晨4点将文件(〜50MB)上传到云中的托pipe空间。 我通过调用“计划任务”运行的batch file中的“ftp -s:”执行此操作。 我在下面的文章中做了Edwardbuild议的内容,并在上传时观看了进程监视器: 启用Windows防火墙时FTP传输速度非常慢 打开Windows防火墙时,开始会涉及alg.exe和ftp.exe,并执行相当多的握手操作。 然后最后只有ftp.exe才能发送,并且每个事件(Process Monitor中的每一行)每秒出现一次,大小为65535.上载大约需要10分钟。 当Windows防火墙closures时,alg.exe永远不会显示。 ftp.exe似乎开始发送几乎立即后,前3个事件/行左右。 然后进程监视器中的事件/行显示速度非常快,也有65535的大小。上传大约需要1分20秒。 也想到我会补充说,我尝试使用Windows资源pipe理器中的复制/粘贴相同的事情。 防火墙开启或closures时,上传大约需要10分钟。 进程监视器中的事件/行显示速度相当快,但它们都只有4096的大小。 任何想法如何获得与Windows防火墙更快的上传速度?