@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 по прежнему пуст. В чем может быть причина?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Если РНР не может записать информацию в файл, он всегда сообщает - по какой причине.
Вам надо всего лишь посмотреть сообщение об ошибке. На нормально настроенном сервере ошибки обычно пишутся в лог файл.
(Скорее всего файл создан одним пользователем, а скрипт запускается другим, а права не выставлены. Но гадать в любом случае бессмысленно, надо прочитать сообщение об ошибке).

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
06 мая 2024, в 15:37
50000 руб./за проект
06 мая 2024, в 14:54
1000 руб./за проект
06 мая 2024, в 14:53
45000 руб./за проект