proc_open возвращает false, но не записывает в файл ошибки – проблема с правами?

Являясь новым для этого предмета, я создал веб-сервер Ubuntu 12, корневой каталог – / var / www /, содержащий мой скрипт index.php и подкаталог под названием «сокращение», содержащий двоичный файл (система компьютерной алгебры, имя файла также «уменьшает»).

Используя ssh, я могу войти в систему под учетной записью / var / www / root и моей учетной записью пользователя, а не с admin, и запустить двоичный файл, выполнив команду «./reduce/reduce». Однако, если я делаю то же самое с помощью моего файла index.php, он не работает. Вот существенный контент index.php (в основном взятый из [1]):

$descriptorspec = array( 0 => array("pipe","r"), 1 => array("pipe","w"), 2 => array("file","./error.log","a") ) ; // define current working directory where files would be stored $cwd = './' ; // open reduce $process = proc_open('./reduce/reduce', $descriptorspec, $pipes, $cwd) ; echo "return value of proc_open: " . (($process === false) ? "false" : "true"); if (is_resource($process)) { // anatomy of $pipes: 0 => stdin, 1 => stdout, 2 => error log fwrite($pipes[0], 'load excalc $'); fclose($pipes[0]) ; // print pipe output echo stream_get_contents($pipes[1]) ; // close pipe fclose($pipes[1]) ; // all pipes must be closed before calling proc_close. // proc_close() to avoid deadlock proc_close($process) ; echo "success!"; } 

Странно то, что файл ./error.log создан, и единственным результатом, который я получаю, является «возвращаемое значение proc_open: false». Почему это? Некоторые разрешения проблемы? Владелец, группа и другие имеют разрешения на выполнение для index.php, а также двоичные файлы. Есть идеи?

Благодарю Йенса

[1] http://www.molecularsciences.org/PHP/proc_open_tutorial_and_examples