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

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

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

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

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

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

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

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