В настоящее время я использую PHP 7.0 и в моем недавнем проекте я должен использовать proc_open для завершения фоновых процессов. Аномалия здесь в том, что proc_open работает, когда я получаю возврат канала, иначе это не так.
$cwd = __DIR__;
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", CACHE_LOG_PATH."proc_error.txt","a")
);
$process = proc_open('./curl.php \''.$data.'\'', $descriptorspec, $pipes, $cwd);
/* Weird part is here */
stream_get_contents($pipes[1]);
fclose($pipes[1]);
curl.php — это простой bash-скрипт, который берет url и загружает его в соответствующий каталог. Я не мог понять, почему это происходит.
Задача ещё не решена.
Других решений пока нет …