Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Запуск vbs скрипта из php


Автор: sani79 28.1.2008, 11:01
Всем привет!

Есть такая проблема: нужно запустить vbs скрипт на сервере, при открытии php странички. Почитал форум, нашел несколько решений, но к сожалению все они работают только если запускать через "php.exe test.vbs", через браузер - ничего не происходит :(
Ошибок в журнале php нет.

Вот несколько примеров которые пробовал:
$res = `start cscript.exe test.vbs`; 
system("start cscript.exe test.vbs"); 
system("start php.exe test.vbs");

У меня на сервере - php5, win2003.

Заранее спасибо.

Автор: flashaa 28.1.2008, 12:43
Цитата(sani79 @  28.1.2008,  11:01 Найти цитируемый пост)
через "php.exe test.vbs", через браузер - ничего не происходит :(

пропишите расширение vbs в список расширение, обрабатываемых php.
В httpd.conf (конфиг апаче, возможно другое имя) найдите строку 
Код

AddType application/x-httpd-php .php .phtml .php3

Добавьте нужное расширение.

Автор: GeneralElectric 28.1.2008, 12:46
flashaa, у тебя не зародилось сомнение в том, что php, вообще-то, не исполняет какие-то там vbs файлы?

Автор: flashaa 28.1.2008, 13:29
GeneralElectric, исходя их того, что
Цитата(sani79 @  28.1.2008,  11:01 Найти цитируемый пост)
все они работают только если запускать через "php.exe test.vbs"

следует, что в vbs файле на самом деле php-скрипт. Иначе бы не работало?

Автор: GeneralElectric 28.1.2008, 13:33
иначе параметр из  командной строки передается в system()

Автор: sani79 29.1.2008, 09:41
flashaa, Сразу прописал. Не помогло.
 
flashaa, Да, я описался, конечно запускается php.exe test.php из которого вызывается test.vbs вышеописанными командами.

Пока решения не найдено...

Автор: flashaa 29.1.2008, 13:26
sani79, напишите подробнее:
1) Ваши действия, например открываю браузер, ввожу "http://xxx/script.vbs"
2) Ожидаемый результат (что должен сделать сервер, например, запустить интерпретатор php для файла script.vbs), т.к. вы привязаны к серверу.
3) Пояснения, что за vbs скрипт, для чего этот скрипт предназначен?

Автор: GeneralElectric 29.1.2008, 13:32
flashaa, можно я отвечу?
1) открываю браузер, ввожу "http://xxx/script.php"
2) сервер должен запустить интерпретатор vbs для файла script.vbs.

теперь ты начнешь отвечать на вопрос?

Автор: GeneralElectric 29.1.2008, 14:05
sani79, а 
Код

echo `dir`;

выдает что-нибудь?

Автор: flashaa 29.1.2008, 14:08
Файл интерпретатора должен быть доступен юзеру, под которым запущен апаче. 
В таком случае не вижу причин, чтобы следующий код не работал
Код

$a = `c:/path/interpretator_vbs.exe script.vbs`;

Автор: sani79 29.1.2008, 14:32
GeneralElectric, 
Цитата

flashaa, можно я отвечу?
1) открываю браузер, ввожу "http://xxx/script.php"
2) сервер должен запустить интерпретатор vbs для файла script.vbs.


именно так.

Цитата


Выделить всёкод PHP
1:
    
echo `dir`;

выдает что-нибудь?


Выдает:
Volume in drive C has no label. Volume Serial Number is 7899-BD66 Directory of c:\Inetpub\wwwroot 28.01.2008 10:31 
. 28.01.2008 10:31 
и ниже еще много всякого smile

Автор: FractalizeR 1.2.2008, 02:30
Цитата(sani79 @ 28.1.2008,  11:01)
system("start cscript.exe test.vbs"); 

Каков результат выполнения этой команды у вас? Что на странице появляется?

Автор: sani79 13.2.2008, 16:45
Заработало спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)