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

Почему данные входящего запроса не сохраняются в файл?

Добрый! Хочу увидеть какие данные и в каком формате отдает вебхук сервиса, поставил вывод входящих данных в файл а он всегда пустой. После этого решил проверить на тестовой дериктории данный код:

$path = __DIR__ . '/Response';
$headers = getallheaders();
$response_body_as_string = file_get_contents('php://input');
$data = serialize($headers);
file_put_contents($path, $data . "\n\n");
file_put_contents($path, $response_body_as_string, FILE_APPEND);
echo $data . "\n\n";
echo $response_body_as_string;


В директории только index.php (его содержимое выше) и пустой файл Response. Открывая данную директорию в браузере я получаею эхо хедеров, что лежат в $data но файл Response по прежнему пуст. В чем может быть причина?
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Если РНР не может записать информацию в файл, он всегда сообщает - по какой причине.
Вам надо всего лишь посмотреть сообщение об ошибке. На нормально настроенном сервере ошибки обычно пишутся в лог файл.
(Скорее всего файл создан одним пользователем, а скрипт запускается другим, а права не выставлены. Но гадать в любом случае бессмысленно, надо прочитать сообщение об ошибке).

Как вариант, что-то ещё дергает этот скрипт. Для надёжности, я бы добавил FILE_APPEND в оба вызова.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽