Expression Engine和Safecracker - 上传mp3文件时出现问题

时间:2012-10-26 04:21:50

标签: forms upload expressionengine safecracker

我有2个大小为24.7kb和11mb的mp3文件。

当我尝试上传较小的文件时,我没有错误。

当我尝试上传较大的文件时,出现错误。在萤火虫中,我看到类似

的东西
NetworkError: 404 Not Found - http://domain.com/application/form/%3C!DOCTYPE%20HTML%3E%3C!--%5Bif....

在“form /”之后检查并解析字符串后,它似乎是您所在网页的标记。

知道为什么会这样吗?

P.S。

  • 我检查了我的PHP.ini和Expression Engine的文件上传首选项,并确保我的最大文件大小限制超过10mb(使用20mb)。

  • 我正在为我的框架使用ExpressionEngine而为我的表单使用Safecracker

  • 在Mac上,似乎标记字符串显示在DOM中的某个位置,您可以在页面中看到它。我没有在Firefox或Chrome中看到它

2 个答案:

答案 0 :(得分:13)

您可能希望检查的是您的XSS设置。在Admin下 - > Security and Privacy - > Security and Session Preferences,将以下内容设置为No并再次测试您的上传内容:

Apply XSS Filtering to uploaded files?

它可能没有任何影响,但我已经看到一些情况,由于XSS过滤,MP3和PDF导致了一些非常随机的结果;当然值得排除。

答案 1 :(得分:4)

可能仍然是服务器问题,而不是特定于EE的东西。我首先检查php.ini中的以下设置(除upload_max_filesize外,它听起来已经碰到了,大致按以下顺序排列:

max_execution_time 设置允许脚本在解析器终止之前运行的最长时间(以秒为单位)。我认为最有可能的候选者就是这个,因为在上传或上传后处理过程中很可能会超出这个范围。 PHP 5.3中的默认值为“30”

post_max_size (必须大于upload_max_filesize)。设置允许的后期数据的最大大小,也会影响文件上载。 PHP 5.3中的默认值是“128M”,但有些主机会大大减少它。

memory_limit 设置允许脚本分配的最大内存量(以字节为单位)。不太可能是这个,因为你几乎肯定会得到一个PHP错误,但值得检查完整性。 PHP 5.3中的默认值为“8M”