Expression Engine и Safecracker - Проблемы при загрузке mp3-файла

У меня есть 2 мп3 файла размером 24,7кб и 11мб.

Когда я пытаюсь загрузить файл меньшего размера, я не получаю никаких ошибок.

Когда я пытаюсь загрузить файл большего размера, я получаю сообщение об ошибке. В firebug я вижу что-то вроде

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

После проверки и синтаксического анализа строки после «form/» оказалось, что это разметка веб-страницы, на которой вы находитесь.

Любая идея, почему это происходит?

P.S.

  • Я проверил настройки загрузки файлов PHP.ini и Expression Engine и убедился, что максимальный размер файла превышает 10 МБ (используется 20 МБ).

  • Я использую ExpressionEngine для своего фреймворка и Safecracker для своих форм.

  • На Mac кажется, что строка разметки отображается где-то в DOM, и вы можете увидеть ее на странице. Я не вижу его в Firefox или Chrome, хотя


person developarvin    schedule 26.10.2012    source источник
comment
Несмотря на то, что может сказать ваш файл php.ini, может быть другой файл, который переопределяет его. Я знаю, что с одним хостом, который я использую, я могу добавить свои собственные файлы php.ini, но некоторые параметры в них игнорируются в пользу основного. Так что может быть, что есть ограничение на размер файла. Это действительно похоже на то, что создается какая-то страница с ошибкой, которую вы видите в Firebug. Взгляните на Инструменты->Утилиты->Информация о PHP в вашей панели управления EE, чтобы увидеть, каковы реальные настройки.   -  person foamcow    schedule 26.10.2012


Ответы (2)


Это вероятно все еще проблема с сервером, а не с чем-то специфичным для 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».

person Tom Davies    schedule 26.10.2012

Что-то, что вы можете проверить, это ваши настройки XSS. В разделе Admin -> Security and Privacy -> Security and Session Preferences установите для следующего параметра значение No и снова проверьте загрузку:

Apply XSS Filtering to uploaded files?

Это может не иметь никакого влияния, но я видел несколько случаев, когда файлы MP3 и PDF приводили к очень случайным результатам из-за фильтрации XSS; конечно стоит исключить.

person Steve Abraham    schedule 26.10.2012
comment
Эта настройка, например. намек сделал мой день. Я мог нормально загружать через учетные записи суперадминистратора, но загрузки участников постоянно отклонялись. - person Volker Rose; 12.11.2013