Я пытаюсь заставить PHP вызывать пакетный файл, который будет принимать RTF-файл и преобразовать его в PDF с использованием макроса OpenOffice. Я тестировал командный файл в командной строке, и он отлично работает, но мне не удастся позвонить и использовать тот же пакетный файл с PHP.Проблема с использованием команды PHP exec для выполнения командного файла
Моя машина OS XP Professional SP 3. Я запускаю IIS 6 и версию PHP 5.2.9. Я предоставил разрешения на выполнение для пользователя Интернета в каталоге c: \ windows \ system32 \ cmd.exe. Я указал полный путь к исполняемому пакетному файлу и полный путь к RTF-файлу, который нужно преобразовать.
РНР выглядит следующим образом, где $ Arg является РТФ быть преобразован:
$arg = "C:\\web_root\\whatever\\tempOutput.rtf";
$command = "c:\\windows\\system32\\cmd.exe /c c:\\web_root\\whatever\\convert.bat $arg";
Тогда внутри примерки улова я называю EXEC команды:
exec("$command 2>&1 && exit", $ret, $err);
I эхом результаты после того, как улов:
echo "ret: ";
print_r ($ret);
print "<br>";
echo "err is ";
echo $err;
print "<br>";
echo "DONE!";
И это то, что я вижу:
ret: Array ()
err is 0
DONE!
Файл RTF не преобразуется, и я не вижу ошибок. Любые идеи о том, что я могу попробовать дальше? Благодаря!!!
Можете ли вы указать свой командный файл? – cdonner
Связанный, [Как вы запускаете .bat-файл с PHP?] (Http://stackoverflow.com/q/835941) – jww