Вт, 26.11.2024, 10:30
Приветствую Вас Гость | RSS
Главная | Как вызвать скрипт из CGI ? - Форум | Регистрация | Вход
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как вызвать скрипт из CGI ?
XOpenДата: Ср, 10.12.2008, 14:53 | Сообщение # 1
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Что то я ничего не понимаю. Простейшее желание, а не дают. Согласно логике должен помочь system("sh script"). А на деле одна и таже прога, но.. если запускать через shell то работает, через CGI - код из того же system() плохой. Ладно был бы MVS ресурс, мог бы чего подумать (как раньше tso через telnet не работал), а тут ?? wacko

Худая корова еще не газель!
 
akostДата: Чт, 11.12.2008, 12:30 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
А WEB-сервер у вас, интересно, что? WebSphere?
 
GregoryДата: Чт, 11.12.2008, 13:06 | Сообщение # 3
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Я извиняюсь, конечно, за такое предположение, но Вы PATH проверили? или system(sh ./script) ? одно из обслуживаемых мной приложений это туча cgi scriptов писанных на REXX и работает это все совершенно замечательно. Web сервер стандартный от IBM то бишь Apache :-)
 
XOpenДата: Пт, 12.12.2008, 13:38 | Сообщение # 4
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
2akost: ВебСфера - это не ВебСервер. Это линейка продуктов. WebSphere AS - раньше была примочкой к ВебСерверу и позволяла запускать сервлеты. А затем стала отдельным продуктом, включающим в себя (или подминающим) ВебСервер.

В моем случае на Сферу денег зажали и пользуюсь тем, что в комплекте. (простой сервер не может запускать сервлеты)

2Gregory: на самом деле я пробовал с абсолютными именами system("/bin/sh /u/user/scr.sh") - не пашет. Та же прога запущенная ручками - пашет. Вызывается ли в вашем(ко мне можно - в твоем?) приложении из REXX скрипта shell-скрипт ? Туча CGI работает сама по себе само собой. smile

Добавлено (12.12.2008, 13:38)
---------------------------------------------
И, входящий в поставку z/OS - это IBM HTTP server. Он создан на базе Lotus Domino Go Server. Тоесть не Apache.

Однако входящий в комплект Сферы АС ВебСервер создан именно на технологии Apache.

Вот такие пироги tongue


Худая корова еще не газель!
 
akostДата: Пт, 12.12.2008, 14:09 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 619
Репутация: 5
Статус: Offline
о как я отстал... я в свое время тянул в USS Апач и он там у меня работал.. А тут в комплект вдруг сервер втянули от Лотуса... Чудно...
 
XOpenДата: Пт, 12.12.2008, 14:34 | Сообщение # 6
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Насколько я помню, Lotus Domino Go WebServer был в USS с рождения. Apach был портирован позже. Он хоть и работает, но не поддерживается IBM. Тоесть все проблемы решай сам. Потом кто-то решил, что Lotus не звучит и его банально переименовали. Потом кто то увидел, что все хотят Apache, взял порт (возможно проверил) и начал поддерживать, но в составе Сферы. Отдельно сам по себе он до сих пор не поддерживается.

Худая корова еще не газель!
 
GregoryДата: Пт, 12.12.2008, 19:29 | Сообщение # 7
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
вызывается, например
address TSO "DELETE '"backup"'"
address TSO "ALLOC FI(BACKUP) DA('"backup"') NEW",
"SPACE(50 50) TRACKS RECFM(F cool 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
Репутация: 4
Статус: Offline
В данном примере я вижу вызов pax - это бинарная прога, а не скрипт. dry
Извините за объяснение, но скрипт это текстовый файл состоящий из команд шела. В частном случае там может быть одна строка с тем же 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)
---------------------------------------------
Все гениальное просто. Права доступа на мой скрипт по дефолту только для меня. Тоесть у юзера ВебСервера(а он не я же) не было прав запустить мой скрипт. sad

Спасибо доброму интернету... cool


Худая корова еще не газель!
 
GregoryДата: Ср, 17.12.2008, 14:49 | Сообщение # 9
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
да, неудачный фрагмент я скопировал, сорри. Конечно, скрипты вызываются точно так же, address sh "....." но все равно извиняюсь!
 
  • Страница 1 из 1
  • 1
Поиск: