我正在调试一个flash网站,它向一个名为upload.php的php文件发出请求,将一些图像上传到服务器。
问题我正在使用Firebug调试它对该页面的请求是抛出406 Not Acceptable状态代码而不是保存图像。
发布数据:
alt text http://pixelstg.com/rum_post_info.JPG
此网站在登台服务器上运行良好,但在生产服务器中,此图像上载过程失败。我只能假设必须对apache配置/ php进行更改,但我不知道该怎么做。
upload.php代码:
alt text http://pixelstg.com/rum_upload_code.JPG
欢迎任何帮助或指导,提前感谢您的帮助。
ATT Sherlack
答案 0 :(得分:3)
406 Not Acceptable
错误意味着服务器想要发送一个响应,该响应的类型未在客户端发送的accept
标头中列出(在本例中为Flash);它与您的文件无法上传无关。
您的代码看起来很好,因此这可能是您的PHP配置的问题。确保在upload_max_filesize
文件中充分配置post_max_size
和php.ini
。
答案 1 :(得分:2)
除了其他答案(post_max_size可能是,因此我对图像大小的问题),this blog entry概述了406与Flash文件上传相结合的更为罕见的原因,显然是由{{{{}}引起的。 1}}。
答案 2 :(得分:0)
这很可能是你的post_max_size的问题。
在php.ini中,将以下内容更改为符合您需要的数字:
memory_limit = 0M
post_max_size = 0M
upload_max_filesize = 0M
如果这不起作用,那么您需要在Apache中的.htaccess文件中进行类似的更改。
答案 3 :(得分:0)
问题在于Suhosin PHP强化模块。超出了一些可变值长度限制。编辑的文件是/etc/php.d/suhosin.ini,它会记录到/ var / log /。
我的托管管理员编辑文件后问题已解决。
感谢大家的支持!
答案 4 :(得分:0)
在我的情况下,只需要将标题(如Johannes Gorset所说)更改为:
"Accept":"text/html"
禁用mod_security不是一种选择。
我发送了一个多部分/表单并收到了这个恼人的错误。更改“接受标题”解决了我的问题。