Вызов proc_open, подобный следующему, завершается с ошибкой выше.
<?php
$proc = proc_open($cmd, $ds, $pipes, '/tmp', array());
Команда $cmd
работает правильно, когда выполняется напрямую.
Проблема не имеет ничего общего с действующей командой.
Код ошибки 267 является ERROR_DIRECTORY «Неверное имя каталога.» и в этом случае просто означает, что /tmp
каталог не существует на диске, с которого запускается код.
Вместо /tmp
использовать sys_get_temp_dir()
(который можно предположить, будет существовать всегда).
Других решений пока нет …