Задать вопрос
@agsidorov

Почему php://stdin не работает в nginx?

$stdin = fopen('php://stdin', 'r');
$line = trim(fgets($stdin));
var_dump($line);


Не работает под nginx. Как быть?)

file_get_contents('php://input') ведет себя таким же образом

Уточню вопрос. Есть либа для астериска - phpagi. Собственно она и не хочет заводится под nginx, виснет на fgets
  • Вопрос задан
  • 3104 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
Подождите. stdin - поток ввода. Насколько мне известно, то такая реализация есть только у консольного PHP.
Быть может Вы хотели file_get_contents('php://input') - или я неправильно понял?
Ответ написан
Комментировать
egor_nullptr
@egor_nullptr
php://stdin - стандартный поток ввода, при работе за nginx (php-fpm или cgi) из него прочиать ничего нельзя.
php://input - из этого потока можно прочитать POST данные

Судя по описанию указанной библиотеки, она работает только через CLI.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы