Мои настройки следующие: Windows 7, XAMPP с включенными Apache и PHP У меня есть PHP-скрипт, в котором я вызываю внешнюю программу для запуска конвертации. Эта внешняя программа представляет собой EXE-файл, который требует 3 атрибута:
- Исходный файл
- Файл назначения
- Дополнительные флаги (тип конверсии и т.д.)
Когда я использую инструмент командной строки, встроенный в XAMPP, для выполнения моего скрипта, все работает отлично. Но когда я использую функцию exec() в своем скрипте PHP, выходной файл не создается. Я уверен, что преобразование действительно происходит (это занимает около 5 секунд, примерно столько же, сколько требуется для запуска сценария PHP).
Я думаю, что это проблема с разрешениями, поэтому я уже переместил EXE-файл в ту же папку, что и мой PHP-файл, и настроил разрешения для всей папки (я предоставил все разрешения всем пользователям). Я также отключил Windows UAC и попытался поместить команду в BAT-файл. Файл просто не создан.
Любая помощь или советы будут с благодарностью!
РЕДАКТИРОВАТЬ: мой код PHP выглядит следующим образом:
exec('c:\converter.exe c:\src.txt c:\dst.txt -f', $output);
print_r($output);
Когда я печатаю $ output, массив оказывается пустым. Когда я помещаю точно такую же команду в командную строку, код работает как шарм (без синтаксических ошибок). Я также использую абсолютные пути.