2016-04-04 1 views
0

Я пытаюсь запустить exe-файл на моем экземпляре AWS Windows Server 2012 с помощью функции exec() PHP для выполнения команды. Но он заставляет мой браузер показывать нагрузку на неопределенный срок. Команда выполняется отлично, когда я выполняю ее на своем сервере. Когда я бегуЗапуск php exec() для запуска исполняемого файла заставляет браузер загружаться неограниченно

echo exec('whoami'); 

возвращает имя пользователя учетной записи. Таким образом, некоторые команды работают через php. Но когда я запускаю свой исполняемый файл, например:

echo exec('myfile.exe'); 

Это позволяет браузеру продолжать показывать загрузку. (Я добавил путь моего exe к переменным окружения, чтобы я мог напрямую обращаться к своему exe из командной строки)

Любая помощь приветствуется. Спасибо

+0

Вы пробовали работать с полным путем? Например, C: \ WINDOWS \\ system32 \\ notepad.exe. Посмотрите это http://stackoverflow.com/questions/16037024/why-cannot-run-an-executable-file-with-exec-or-system-functions –

+0

@Azael Да, я пробовал это, но те же результаты –

ответ

0

Что я хотел здесь сделать, открыть exe-файл на моем сервере через браузер. мне удалось сделать это с помощью следующего PHP код, который я нашел в ответ:

shell_exec('SCHTASKS /F /Create /TN _notepad /TR "notepad.exe" /SC DAILY /RU INTERACTIVE'); 
shell_exec('SCHTASKS /RUN /TN "_notepad"'); 
shell_exec('SCHTASKS /DELETE /TN "_notepad" /F'); 

Это открытие блокнота на сервере. Вы можете заменить путь к файлу ехе с notepad.exe Это работал ОС Windows 8.1, Windows 10 и Windows, 2012 Server,

Вы также можете попробовать следующие шаги, чтобы включить службу Apache для запуска настольных приложений:

Start->Run, type "services.msc" to bring up Services control (other ways to get there, this is easiest IMO) 
Locate your Apache service (mine was called "wampapache" using WampServer 2.0) 
Open the service properties (double-click or right click->properties) 
Flip to the Log On account and ensure the checkbox titled "Allow service to interact with Desktop" is checked 
Flip back to the General tab, stop the service, start the service 

Вот ссылка на вопрос, который я выполнил для решения: php How do I start an external program running - Having trouble with system and exec

Надеюсь, это поможет кому-то еще.

+0

me тоже сталкивается с тем же вопросом сейчас. была проблема из-за доступа к веб-пользователям? Я использовал ваше решение, даже не работая в cmd, показывая его ошибки доступа – Thejas