Snorway
@Snorway

Почему при использовании shell_exec() виснет PHP?

На одной из страниц сайта используется ф-ция shell_exec(). Проблема в том, что в момент, когда скрипт с вызовом этой ф-ции запустился, PHP перестает реагировать до момента, пока shell_exec() не вернет результат. Т.е. PHP как бы виснет, новые страницы не открываются. Как можно запускать команду, чтобы не вешать PHP? При этом важно получить данные, которые возвращает shell_exec().
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Вы правильно все поняли, это синхронный вызов, и он ждет результат.

Если вам результат не нужен прямо сейчас, можно перенаправить его в файл, например.
" > /tmp/myfile.txt 2>/dev/null &" 2 - это вывод stderr, можете отправлять его в error.log или в тот-же myfile.txt

Еще вариант, запускать его в другом потоке.

А если результат нужен прямо сейчас, то придется ждать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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