Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Подскажите по Perl'у, пожалуйста

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Bad_User



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Только не пинайте. Сталкнулся с Perl вообще впервые, доки поколупал, но не разобрался..
 
Суть проблемы следующая: хочу запускать с веб странички программку под FreeBSD. Один клик на ссылку - программа запускается, делает своё дело и всё..
 
На серваке есть Apache и какая-то версия Perl. Вроде всё работает, так как тестовые скрипты из папочки cgi-bin отрабатывают правильно.
 
Наколупал, что в этом может помочь функция system, но мои попытки её использовать в скрипте не увенчались успехом. Вот что пишу:
 
#!/bin/sh
system("myscript.sh");
 
myscript.sh - скрипт на запуск проги, который лежит в /bin. Сама прога лежит довольно далеко, типа /usr/local/bin/myprog...  
 
На запуск такого cgi скрипта, в браузере выдается 500 ошибка.
 
Что я делаю не так?
 

Всего записей: 47 | Зарегистр. 18-05-2007 | Отправлено: 10:36 17-09-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bad_User

Цитата:
Что я делаю не так?  

читайте error.log - там все будет указано

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:56 17-09-2008
Bad_User



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишет следующее:
 
[Thu Sep 18 09:34:00 2008] [error] [client 192.168.2.3] /usr/local/apache2/cgi-bin/test3: 3: Syntax error: word unexpected (expecting ")")
[Thu Sep 18 09:34:00 2008] [error] [client 192.168.2.3] Premature end of script headers: test3
 
 
Мне не понятно, что это означает. Поможите?

Всего записей: 47 | Зарегистр. 18-05-2007 | Отправлено: 09:47 18-09-2008
Drron

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А где тут собственно перл???
 
должно быть наверное так:
 
#!/usr/bin/perl  
system("myscript.sh");
 

Всего записей: 826 | Зарегистр. 20-11-2003 | Отправлено: 09:53 18-09-2008
Bad_User



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Логично.. Попробовал, получил следующую ошибку:
 
[Thu Sep 18 10:05:03 2008] [error] [client 192.168.2.3] Premature end of script headers: test4
 
Мировой разум знает такую ошибку и говорит, что надобно передать некии заголовки в начале скрипта. Добавил строчку:
 
#!/usr/bin/perl
print "\n\n";
system("myscript.sh");
 
Теперь в браузере 500 ошибки не пишет, но прога всё равно не отрабатывает и в логе следующее:
 
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] rm:
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] /tmp/sarg/denied.log.unsort
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] :
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] Permission denied
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] rm:
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] /tmp/sarg/authfail.log.unsort
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] :
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] Permission denied
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] rm:
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] /tmp/sarg
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] :
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] Operation not permitted
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] SARG: setrlimit error - Operation not permitted
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3]
[Thu Sep 18 10:42:48 2008] [error] [client 192.168.2.3] /usr/local/bin/sarg: (zzzlog) \xcd\xe5 \xec\xee\xe3\xf3 \xee\xf2\xea\xf0\xfb\xf2\xfc \xe2\xf0\xe5\xec\
xe5\xed\xed\xfb\xe9 \xf4\xe0\xe9\xeb: /tmp/sarg/192.168.2.92.unsort - Permission denied
 
Как я понял, проблемы с правами. Но вроде у всех стоит 666, у sarg - 777.. И еще не понятно, причём тут 92-ой IP..

Всего записей: 47 | Зарегистр. 18-05-2007 | Отправлено: 10:56 18-09-2008
Drron

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скрипты запускаются с правами пользователя от которого запущен apache.
 
На директориях права должны быть 777 на файлах - если они не запускные 666, иначе apache  будет работать неправильно.
 

Всего записей: 826 | Зарегистр. 20-11-2003 | Отправлено: 11:51 18-09-2008 | Исправлено: Drron, 11:52 18-09-2008
Bad_User



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, действительно, поставил права 777 на папки - всё заработало. Спасибо.. =)

Всего записей: 47 | Зарегистр. 18-05-2007 | Отправлено: 14:00 18-09-2008
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Подскажите по Perl'у, пожалуйста


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru