Php. Как запустить программу (процесс) в фоне?

Главная  >>  Backend  >>  Php. Как запустить программу (процесс) в фоне?

Метод exec и ему подобные, как известно, ожидают выполнения запущенного приложения, тем самым задерживая выполнение основного скрипта. Это не есть хорошо и даже непозволительно.

Сегодня, столкнувшись с необходимостью запуска скрипта с удаленного сервера для генерации отчета нашел подходящее мне решение.

На уникальность и предельную красоту не претендую. Привожу в качестве примера, в какую сторону можно копнуть:

Лучший, как по мне, вариант использовать curl вместо wget, но конкретно в моем случае его применение невозможно, поэтому я не смог окончательно проверить его работу.

Также обращаю внимание на адрес в кавычках. Данный пример отработает и без них, но если Вы будете передавать в GET параметры с разделителями (&) или другими символами — очень высока вероятность распознания в них спец. символов и, как итог, разбиения строки на подкоманды.

Поэтому , как говорится, на всякий пожарный ставьте кавычки.