Apache - 406不可接受的PHP问题

时间:2010-02-18 19:43:51

标签: php flash apache

我正在调试一个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

5 个答案:

答案 0 :(得分:3)

406 Not Acceptable错误意味着服务器想要发送一个响应,该响应的类型未在客户端发送的accept标头中列出(在本例中为Flash);它与您的文件无法上传无关。

您的代码看起来很好,因此这可能是您的PHP配置的问题。确保在upload_max_filesize文件中充分配置post_max_sizephp.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不是一种选择。

我发送了一个多部分/表单并收到了这个恼人的错误。更改“接受标题”解决了我的问题。