2016-02-22 2 views
0

Я установил php на платформу Windows 10 и не могу запускать приложения через PHP. Я могу запускать dir, mkdir и простые команды DOS, но не могу запускать какое-либо приложение из Win \ system или progra ~ 1 каталогов. Я пробовал:PHP Выполнение программ DOS

exec('notepad.exe'), 
exec('start \c notepad.exe') -- and fully stated path as below 
shell_exec('c:\windows\system32\cmd.exe /c c:\windows\system32\notepad.exe') 
system('notepad.exe'); 

В большинстве этих примеров я могу заменить на каталог и получить список каталогов. и т. Д. Ничего не выполняется.

Есть ли параметр в php.ini, чтобы разрешить это, или установить IIS_IUSRS или IUSR в группу администратора (что, я считаю, я сделал для IIS_IUSRS). Что мне не хватает?

+1

Попробуйте запустить программы cli вместо программ gui –

+0

Я попытался запустить «SVN help» (командный скрипт TortoiseSVN), он тоже не запускается; однако SVNVersion работает. Все, что, кажется, вызывает DLL, похоже, не работает (так оно и есть, но я не уверен, что это DLL). –

ответ

0

Я не уверен, что вы не включили, но вот полный файл я написал, чтобы проверить вашу проблему:

<?php 
    system ('notepad.exe'); 
?> 

Он работает (даже если это не звучит как отличная идея!). Вы, возможно, не заметили теги php?

+0

Я пробовал все стандартные команды для выполнения команды: system, passthru, shell_exec, exec, и я повысил IIS_IUSRS до члена группы Administrator. Я могу запускать программы, которые я создаю, т. Е. Printf («hello World»), но ничто, похоже, не вызывает DLL. –

+0

Позвольте мне пояснить это. Если вы берете код, который я предоставляю здесь, и помещаем его в файл PHP, и загружаем его через ваш сервер PHP, он не всплывает «Блокнот»? Если это так, я не один, чтобы ответить. Вы можете взглянуть на эту страницу, в комментариях, на некоторые предположения о настройке разрешений и вещей в php.ini: http://php.net/manual/en/function.system.php –

+0

Это правильно. Вращающееся колесо, например,/egege, просто продолжает вращаться и, в конечном итоге, выйдет из строя. –

0

Что все это сводилось к тому, что «nt authority/iusr» не является реальным пользователем и, как таковой, не имеет структуры каталогов для обычного пользователя, например, в каталоге «AppData». Чтобы запустить приложение, которое я хотел запустить (SVN), я добавил --config-dir c: \ Users \ user \ AppData \ TortoiseSvn \ и установил привилегии для IIS_IUSRS на чтение/изменение/запись/выполнение доступа. Теперь SVN отлично работает.

Спасибо всем. Cheers

Смежные вопросы