Как вызвать скрипт из CGI ?
|
|
XOpen | Дата: Ср, 10.12.2008, 14:53 | Сообщение # 1 |
Генерал-майор
Группа: Администраторы
Сообщений: 325
Статус: Offline
| Что то я ничего не понимаю. Простейшее желание, а не дают. Согласно логике должен помочь system("sh script"). А на деле одна и таже прога, но.. если запускать через shell то работает, через CGI - код из того же system() плохой. Ладно был бы MVS ресурс, мог бы чего подумать (как раньше tso через telnet не работал), а тут ??
Худая корова еще не газель!
|
|
| |
akost | Дата: Чт, 11.12.2008, 12:30 | Сообщение # 2 |
Admin
Группа: Администраторы
Сообщений: 619
Статус: Offline
| А WEB-сервер у вас, интересно, что? WebSphere?
|
|
| |
Gregory | Дата: Чт, 11.12.2008, 13:06 | Сообщение # 3 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| Я извиняюсь, конечно, за такое предположение, но Вы PATH проверили? или system(sh ./script) ? одно из обслуживаемых мной приложений это туча cgi scriptов писанных на REXX и работает это все совершенно замечательно. Web сервер стандартный от IBM то бишь Apache :-)
|
|
| |
XOpen | Дата: Пт, 12.12.2008, 13:38 | Сообщение # 4 |
Генерал-майор
Группа: Администраторы
Сообщений: 325
Статус: Offline
| 2akost: ВебСфера - это не ВебСервер. Это линейка продуктов. WebSphere AS - раньше была примочкой к ВебСерверу и позволяла запускать сервлеты. А затем стала отдельным продуктом, включающим в себя (или подминающим) ВебСервер. В моем случае на Сферу денег зажали и пользуюсь тем, что в комплекте. (простой сервер не может запускать сервлеты) 2Gregory: на самом деле я пробовал с абсолютными именами system("/bin/sh /u/user/scr.sh") - не пашет. Та же прога запущенная ручками - пашет. Вызывается ли в вашем(ко мне можно - в твоем?) приложении из REXX скрипта shell-скрипт ? Туча CGI работает сама по себе само собой. Добавлено (12.12.2008, 13:38) --------------------------------------------- И, входящий в поставку z/OS - это IBM HTTP server. Он создан на базе Lotus Domino Go Server. Тоесть не Apache. Однако входящий в комплект Сферы АС ВебСервер создан именно на технологии Apache. Вот такие пироги
Худая корова еще не газель!
|
|
| |
akost | Дата: Пт, 12.12.2008, 14:09 | Сообщение # 5 |
Admin
Группа: Администраторы
Сообщений: 619
Статус: Offline
| о как я отстал... я в свое время тянул в USS Апач и он там у меня работал.. А тут в комплект вдруг сервер втянули от Лотуса... Чудно...
|
|
| |
XOpen | Дата: Пт, 12.12.2008, 14:34 | Сообщение # 6 |
Генерал-майор
Группа: Администраторы
Сообщений: 325
Статус: Offline
| Насколько я помню, Lotus Domino Go WebServer был в USS с рождения. Apach был портирован позже. Он хоть и работает, но не поддерживается IBM. Тоесть все проблемы решай сам. Потом кто-то решил, что Lotus не звучит и его банально переименовали. Потом кто то увидел, что все хотят Apache, взял порт (возможно проверил) и начал поддерживать, но в составе Сферы. Отдельно сам по себе он до сих пор не поддерживается.
Худая корова еще не газель!
|
|
| |
Gregory | Дата: Пт, 12.12.2008, 19:29 | Сообщение # 7 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| вызывается, например address TSO "DELETE '"backup"'" address TSO "ALLOC FI(BACKUP) DA('"backup"') NEW", "SPACE(50 50) TRACKS RECFM(F LRECL(80) BLKSIZE(32000)" address TSO "FREE FI(BACKUP)" paths = '' do i = 1 to path.0 paths = paths' 'path.i end i address sh "pax -wvzf //\'"backup"\' "paths say 'Backup of FIPS code to 'backup' completed' exit насчет web сервера - да, он называется IBM HTTP server, но его выполняемые файлы и файл конфигурации позволяют заключить что это apach а не DominoGo... впрочем, я спорить не буду, домино так домино мне вообще-то все равно :-)
|
|
| |
XOpen | Дата: Ср, 17.12.2008, 12:31 | Сообщение # 8 |
Генерал-майор
Группа: Администраторы
Сообщений: 325
Статус: Offline
| В данном примере я вижу вызов pax - это бинарная прога, а не скрипт. Извините за объяснение, но скрипт это текстовый файл состоящий из команд шела. В частном случае там может быть одна строка с тем же pax. Мне важен момент вызова из CGI этого текстового файла-скрипта. Проги вызываются без проблем.Добавлено (16.12.2008, 14:27) --------------------------------------------- Простейший способ определить по конфигу(httpd.conf) кто это, это сделать поиск директивы PASS и ALIAS. В Лотусе обязательно будет что-нибудь типа: Pass /icons/* /usr/lpp/internet/server_root/icons/* В Апаче в принципе нет директивы PASS. Он использует ALIAS для той же цели: Alias /icons/ /usr/local/apache/icons/ Добавлено (17.12.2008, 12:31) --------------------------------------------- Все гениальное просто. Права доступа на мой скрипт по дефолту только для меня. Тоесть у юзера ВебСервера(а он не я же) не было прав запустить мой скрипт. Спасибо доброму интернету...
Худая корова еще не газель!
|
|
| |
Gregory | Дата: Ср, 17.12.2008, 14:49 | Сообщение # 9 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| да, неудачный фрагмент я скопировал, сорри. Конечно, скрипты вызываются точно так же, address sh "....." но все равно извиняюсь!
|
|
| |