2014-10-01 1 views
0

Я просто пытаюсь запустить исполняемый файл из скрипта PHP. Кажется довольно простым, но для меня это просто не сработает. Я попробовал оба этих метода:Exec Command не работает в PHP

$oExec = $WshShell->Run("Notepad.exe >> /err.txt"); 

и

exec("Notepad.exe >> /err.txt"); 

без успеха. Кажется, ничего не происходит, я просматриваю свой код, и строки выполняются, но блокнот не открывается. Err.txt пуст, поэтому там нет никакой помощи, и я не могу найти ошибку где угодно. Я бы подумал, что если бы это была проблема с разрешениями, я бы получил сообщение об ошибке, и кроме этого я не уверен, в чем проблема. Кажется, что нашел Notepad.exe нормально, потому что, когда я пишу Ntpad.exe, я получаю сообщение об ошибке. Любая помощь будет принята с благодарностью.

Сценарий запускается с локального сайта IISExpress.

+0

Кто такой скрипт PHP, который работает как? –

+0

На мой взгляд, если служба не поддерживает взаимодействие с рабочим столом - окно запущенного приложения не будет отображаться. – Cheery

+0

Мне не обязательно нужно его отображать, Блокнот был предназначен только для отладки фактического сценария, который я должен был запустить, выглядит так: $ oExec = $ WshShell-> Run ("cmd C: \ path \ ffmpeg -i C: \ path \ video.mov video.mp4 "); Он не работает, поскольку .mp4 не создается, но когда я запускаю тот же скрипт из командной строки, он работает. – mgrenier

ответ

0

После долгих разочарований я понял ответ, благодаря Cheery, чтобы сообщить мне, что «Блокнот» никогда не появится без взаимодействия с рабочим столом. Я бы уже некоторое время пытался выяснить, почему он не работает. Был несколько проблем с моим оригинальным сценарием ...

$oExec = $WshShell->Run("cmd C:\Test\ffmpeg -i C:\Test\ferrisglennnews.mov video.webm"); 
  1. двойные слэши нужны
  2. ЦМД должны быть удалены
  3. не имея каталог помещает выход в каталог УМК по умолчанию не там, где исходный файл, так что я искал в неправильном месте для выхода

Таким образом, это сценарий добываемых желаемых результатов были ...

$oExec = $WshShell->Run("C:\\Test\\ffmpeg -i C:\\Test\\ferrisglennnews.mov C:\\Test\\video.webm"); 

Спасибо за тех, кто помог и кто помогает в период форума, вы спасли так много людей, так много времени!