Apache + PHP-FPM + chunked POST -> Ошибка 411

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Я тут пытаюсь на Travis'е гонять тесты своего HTTP_Request2 с поддержкой работы с сетью. В принципе всё взлетело по описанному в документации Travis'а, но есть нюанс: тесты, которые пытаются отправить запрос POST с Transfer-Encoding: chunked, не проходят, т.к. сервер шлёт ошибку 411 Length Required с текстом "A request of the requested method POST requires a valid Content-length."

В Апаче с mod_php такие запросы работают, но Апач с mod_php не поддерживается в Travis'е.

Короче вопрос знатокам: оно в подобной комбинации в принципе не умеет принимать chunked post или есть какие-то настройки php-fpm / mod_fastcgi, которые надо подкрутить?
 
А какая нафиг разница травису, mod_php или CGI?
А вообще смотри с логи.
 
А какая нафиг разница травису, mod_php или CGI?
Не знаю, но в документации, на которую я предусмотрительно дал ссылку в исходном сообщении, написано:
Документация написал(а):
Currently Travis CI does not support mod_php for apache, but you can configure php-fpm for your integration tests.
По существу вопроса есть чё?
 
Что в логах апача, третий раз спрашиваю?…
Добавил в обработку тестов вывод логов. Например здесь выводятся: https://travis-ci.org/pear/HTTP_Request2/jobs/68703223

Из интересного:
Код:
[Sun Jun 28 16:22:39 2015] [error] [client ::1] chunked Transfer-Encoding forbidden: /php5-fcgi/postparameters.php
таки кто его запрещает, и как разрешить?
 
Запрещает обрабочик, разрешить там же. Если обработчик вообще понимает такие слова. WSGI например фиксится.
Апач 2,2 или 2,4? И вообще почему апач, раз CGI используется?
 
Запрещает обрабочик,
"Обработчик" чего?
разрешить там же.
Где "там же"?
Если обработчик вообще понимает такие слова. WSGI например фиксится.
Про WSGI я в интернетах уже нашёл, что есть
Код:
WSGIChunkedRequest On

Я пытаюсь добиться ответа: есть что-то такое для связки PHP-FPM с Апачем?

По ссылке из предыдущего сообщения английским по чёрному было написано
Код:
<address>Apache/2.2.22 (Ubuntu) Server at hr2.local Port 80</address>

Но я понимаю, по ссылкам ходить куда менее интересно, чем их требовать.

И вообще почему апач, раз CGI используется?

Потому что, мой деревянный друг, я использую при работе с Travis'ом рекомендуемые в документации Travis'а инструменты, о чём было сказано в первом же сообщении.

Т.е. я правильно понимаю:
- ответа на ключевой вопрос "есть ли возможность включить поддержку chunked request при использовании связки PHP-FPM с Апачем" ты не знаешь даже близко,
- наводящие вопросы задаёшь чисто для поддержания светской беседы?
 
Ну раз вам моё общество настолько неинтересно, что вы начинаете обзываться, я вас покину.
Напоследок же задам вопрос "на подумать" - если ты используешь рекомендованные инструменты, то почему получаешь нерекомендованные результаты? Может, в консерватории что-то поправить, а не компостировать себе мозг неизвестно чем?…
 
не знаю, связано ли, но в fcgi с post-запросами без content lenght на 5.6 при определенных настройках просто сегфолт
https://bugs.php.net/bug.php?id=68921

AnrDaemon, прости, но твои 5 копеек здесь таки не по делу, учить Sad Spirit-а смотреть в логи явно не требуется
 
Последнее редактирование:
@grigori, учить смотреть может и не требуется, а вот говорить нам о том, что там пишется - приходится учить.
Я вот не стою за его спиной в монитор через его плечо не смотрю.
Может, я и не смогу помочь напрямую, но вытянуть максимум информации, чтобы тем, кто разбирается, было проще понять происходящее - это мне удаётся без труда.
 
не знаю, связано ли, но в fcgi с post-запросами без content lenght на 5.6 при определенных настройках просто сегфолт
https://bugs.php.net/bug.php?id=68921
Сомневаюсь: тут, похоже, запросы до PHP просто не доходят, режутся ещё Апачем гораздо раньше.

В общем надо будет попробовать настроить там nginx вместо Апача: в ём, насколько я понимаю, chunked POST обрабатывается.

Можно ещё, конечно, встроенный сервер PHP, но что-то мне подсказывает, что это будет тестирование не моего клиента, а этого самого сервера.

AnrDaemon, прости, но твои 5 копеек здесь таки не по делу, учить Sad Spirit-а смотреть в логи явно не требуется
Я ещё (чуть-чуть) верил, что клован чем-то помочь хочет, пока он про версию Апача спрашивать не начал...
 
а я бы, наоборот, использовал встроенный, чтобы убрать 2 ненужных слоя - веб-сервер и fcgi sapi

411 я встречал при обработке PUT-запросов с nginx
 
Последнее редактирование:
судя по всему, не так давно в nginx сделали нормальную обработку chunked
 
В общем и целом включил mod_php вместо php-fpm.

Там, конечно, получается, что ставится стандартная для ubuntu версия php вместо той, на которой планируется тестировать:
Код:
Get:9 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libapache2-mod-php5 amd64 5.3.10-1ubuntu3.18 [3,137 kB]

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