我正在debugging一个flash网站,请求一个名为upload.php的php文件将一些图像上传到服务器。
这个问题,我debugging它与萤火虫对该页面的要求是抛出一个406不可接受的状态代码,并没有保存图像。
发布数据:
替代文字http://img.zgserver.com/php/rum_post_info.JPG
该网站在登台服务器上运行良好,但在生产服务器上,图像上传失败。 我只能假设改变到Apacheconfiguration/ PHP必须完成,但我不知道该怎么做。
upload.php代码:
替代文字http://img.zgserver.com/php/rum_upload_code.JPG
任何帮助或指导将受到欢迎,在此先感谢帮助。
att Sherlack
406 Not Acceptable
错误意味着服务器想要发送一个响应,这个响应的类型没有在客户端发送的accept
头文件中(在本例中是Flash); 它与您的文件无法上传无关。
你的代码看起来很好,所以这可能是你的PHP配置的问题。 确保upload_max_filesize
文件中的upload_max_filesize
和post_max_size
已经被充分配置。
除了其他答案(post_max_size它可能是,因此我的问题的图像大小), 这个博客条目概述了一个406与Flash文件上传,显然是由mod_security
引起的不寻常的原因。
这很可能是你的post_max_size的一个问题。
在php.ini中将以下内容更改为符合您需要的数字:
memory_limit = 0M post_max_size = 0M upload_max_filesize = 0M
如果这不起作用,那么您将需要在Apache中的.htaccess文件中做类似的更改。
问题是Suhosin PHP强化模块。 一些变量值的长度限制被超过。 被编辑的文件是/etc/php.d/suhosin.ini,并且记录到/ var / log /中。
文件由我的主机管理员编辑后,问题已解决。
感谢所有的支持!
就我而言,只需要改变标题(如Johannes Gorset所说)即可:
"Accept":"text/html"
禁用mod_security不是一个选项。
我正在发送一个多部分/表单,并收到这个恼人的错误。 改变“接受头”解决了我的问题。