Apache - 406 Неприемлемая проблема PHP - PullRequest
2 голосов
/ 18 февраля 2010

Я отлаживаю флеш-сайт, который отправляет запрос в php-файл с именем upload.php для загрузки некоторых изображений на сервер.

Проблема, связанная с тем, что при отладке с помощью Firebug запрос на эту страницу выдает код состояния 406 Not Acceptable и не сохраняет изображения.

Почтовые данные:

альтернативный текст http://pixelstg.com/rum_post_info.JPG

Этот веб-сайт хорошо работает на промежуточном сервере, но на рабочем сервере этот процесс загрузки изображения завершается неудачно. Я могу только предположить, что изменение конфигурации apache / php должно быть сделано, но я понятия не имею, что делать.

код upload.php:

альтернативный текст http://pixelstg.com/rum_upload_code.JPG

Любая помощь или руководство будут приветствоваться, заранее спасибо за помощь.

Att Sherlack

Ответы [ 5 ]

3 голосов
/ 18 февраля 2010

A 406 Not Acceptable ошибка означает, что сервер хочет отправить ответ, тип которого не указан в заголовках accept, отправляемых клиентом (в данном случае, Flash); это не связано с тем, что ваши файлы не могут быть загружены.

Ваш код выглядит нормально, так что это может быть проблемой с вашей конфигурацией PHP. Убедитесь, что upload_max_filesize и post_max_size правильно настроены в вашем файле php.ini.

2 голосов
/ 18 февраля 2010

В дополнение к другим ответам (возможно, это post_max_size, отсюда и мой вопрос о размере изображения), эта запись в блоге описывает более необычную причину появления 406 в сочетании с загрузка файла Flash, по-видимому, вызванная mod_security.

0 голосов
/ 31 января 2014

В моем случае просто нужно изменить заголовки (как сказал Йоханнес Горсет) на:

"Accept":"text/html"

Отключение mod_security не было вариантом.

Я отправлял несколько частей / форму и получил эту досадную ошибку. Изменение «Принять заголовок» решило мою проблему.

0 голосов
/ 20 февраля 2010

Проблема была в модуле защиты PHP Suhosin. Некоторые пределы длины значения переменной были превышены. Файл, который был отредактирован, был /etc/php.d/suhosin.ini, и он регистрируется в /var/log/.

После того, как мой администратор хостинга отредактировал файл, проблема была решена.

Спасибо всем за поддержку!

0 голосов
/ 18 февраля 2010

Это, скорее всего, проблема с вашим post_max_size.

В php.ini измените следующее число на соответствующее вашей потребности:

memory_limit = 0M
post_max_size = 0M
upload_max_filesize = 0M

Если это не сработает, вам нужно будет сделать аналогичное изменение в вашем файле .htaccess в Apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...