Win, PHP: запуск GUI-приложений.

StdKem

Guest
Win, PHP: запуск GUI-приложений.

Задача - требуется запустить из PHP под Windows определенное GUI-приложение (для примера возьмем "calc.exe").

При попытки её реализации столкнулся с такой проблемой.
При использовании функций exec(), system(), popen() - процесс открывается "внутри" системы, где-то там далеко... в пайпах. :)
Была попытка использовать прокладку - start.exe, но результат был таким же.
Была сделана попытка создания собственной "прокладки" - приложение на Delphi, которой создавала новый процесс и запускала калькулятор. Но опять же - результат такой же. :)
Но на этом я не остановился... решил попробывать через runas.exe:
PHP:
<?

 if ($hProcess = popen("runas /user:guest calc", "w"))
 {
   sleep(1);
   fwrite($hProcess, "\n");
   sleep(1);
   pclose($hProcess);
 }

?>
Угадали что получилось? Правильно - те же яйца, только в профиль.
И вот на последнем дыхании была попытка зарегистрировать через w32api_register_function() функцию WinExec из user32.dll (естесственно, прикрутив модуль php_w32api). и здесь мне нагло заявили, что функции w32api_register_function() не существует. 8) здрасте приехали...

Вообщем, я к чему всю эту эпопею. Как из РНР под виндочками запустить GUI-приложение? :)

P.S. Было ещё несколько сумасшедших идей типа - создание прокладочки, которая бы мониторила какую-то папочки на предмет создания в нем спец.файла или создание двух прокладочек - одна висит и ждет определенного сообщения, а другая, которую бы мы запускали из скрипта, отсылала ей это сообщение, а та в свою очередь спокойненько бы запускала нужное приложение. Но чую я заветным местом, что всё гораздо проще и решается штатными средствами (либо конфигом).
 

rsv

Новичок
listing of run_proga.php:
PHP:
<?
exec("calc.exe");
?>
система WinXP SP1
PHP/4.3.4
запускаю из командной строки
php.exe run_proga.php
сразу появляется калькулятор
 

StdKem

Guest
Originally posted by rsv
listing of run_proga.php:
PHP:
<?
exec("calc.exe");
?>
система WinXP SP1
PHP/4.3.4
запускаю из командной строки
php.exe run_proga.php
сразу появляется калькулятор
Не сомневаюсь. ;) Проблема в том, что калькулятор не появляется, если запускать скрипт через веб ("через РНР под апачем").
 

rsv

Новичок
если запускать скрипт через веб
в этом случае он и не будет появляться, поскольку могу поспорить, что заходишь ты на комп под своим логином, а сервер твой работает под совсем другим логином ;)
Делай выводы :0)
 

guitartime

Guest
Версия - php 4.3.11
Правильно ли я понял, что на этой версии НИКАК невозможно запустить виндовое приложение?

Мне необходимо выполнить скрипт, написанный на python и лежащий в базе. Из базы я его вытащу и сохраню на диск, а дальше надо как-то запустить. Думалось, что получится как-то вызвать из коммандной строки интерпритатор питон и написав что-то типа "python.exe script.py" запустить требуемый скрипт.

Тут я понял много проблем с этим. Например, версия пхп и то, что веб-сервер крутится не под аккаунтом пользователя компа...

Вопрос 1: каким образом можно выполнить скрипт в данной ситуации?
Вопрос 2: php5 поддерживает такие вещи под виндой? (хоть как-нибудь)

спасибо.
 

LeaetherStrip

Новичок
Попробуй в "Службах" поставить для "World Wide Web Publishing Service" галку "Allow Interate With Desktop" (или как там ее). В общем, она одна, не промахнешься :)) все коменты на php.net этим исписаны :))
 
Сверху