Проблемы при использовании exec()

agx

Программер :-)
Проблемы при использовании exec()

Суть задачи в том, чтобы скриптом запускать компиляцию проекта HTML Help Workshop.
Я использую функцию exec() следующим образом:
echo exec('hhc c:\test\p007.hhp');
Результат отсутствует, тоесть, выходной chm файл не появляется, в то время, как если эту команду выполнить через командную строку, то все работает нормально.
В чем может быть проблема?
Пробовал выполнять exec-ом другие команды, скажем, команду декомпиляции chm файла:
echo exec('hh -decompile c:\test\ c:\test\p007.chm');
Она выполняется нормально! Так же, как и из командной строки.
Может быть, есть какие-то ограничения на применение exec() и какие-то альтернативные варианты?
 

Tor

Новичок
у exec() есть еще несколько аргументов, которые решат твои проблемы
в смысле покажут на них пальцем
 

agx

Программер :-)
Хорошо, я задействовал остальные два параметра. Использовал такой код:
echo exec('hhc c:\test\p007.hhp',$out,$var);
echo '<hr>';
foreach ($out as $line)
{
echo $line.'<br/>';
}
echo '<hr>';
echo 'Возвращена переменная: "> '.$var.' <"';
В результате массив $out не содержит информации, а в переменную $var была записана единица.
Попробовал то же самое для другой команды, массив $out также не содержал информации, но $var==0.
Может, я туплю, но какие выводы можно из этого сделать? Единственное предположение, что когда $var!=0, значит, произошла ошибка. Но какая, и как ее устранить?
 

agx

Программер :-)
То, что не работает - это невооруженным глазом видно. :)
Вопрос-то как раз и был: почему такое может не работать? Ведь из командной строки выполняется! И другие команды exec-ом выполняется... а эта - нет. Может, есть какие-то альтернативные способы? Ведь в приведенном мной коде все верно, так ведь?
Может, кто-то сталкивался с подобной проблемой и знает, как ее решить?
 

agx

Программер :-)
У меня в переменной окружения path прописан полный путь. И из командной строки ведь выполняется... но я попробую...

-~{}~ 19.04.05 17:36:

Получилось! Tor, спасибо ОГРОМНОЕ!

-~{}~ 19.04.05 17:39:

Только не совсем понятно... выходит, настройки переменных окружения exec()-у до лампочки?
 
Сверху