Страница 1 из 1
(perl) выполнение system() из браузера
Добавлено: 2008-09-09 13:50:01
HRonik
Добрый день.
cgi скрипт на perl из командной строки выполняется на ура...
Да и из браузера работает почти все, только упорно отказывается выполнять sh команду, и с помощью system() и с помощью кавычек ``.
В чем могут быть грабли?
Подскажите пожалуйста...
ЗЫ права на скрипты 777.
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 13:59:38
zg
пути
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 14:10:59
HRonik
zg писал(а):пути
system('/var/www/stat/usertraf.sh $user');
полные...
из командной строки работает.
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 14:20:29
zg
пути в /var/www/stat/usertraf.sh
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 14:38:28
HRonik
zg писал(а):пути в /var/www/stat/usertraf.sh
я об этом тоже сразу же подумал
перенес скрипт в папку /data с правами 777 , ноль эмоций =\
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 14:45:40
HRonik
Причем system() возвращает код 0, что означает успешное выполнение команды, однако команда то не выполнилась %)
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 16:33:31
ProFTP
покажи тч оты выполняешь...!!
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 16:58:54
zg
HRonik писал(а):Причем system() возвращает код 0, что означает успешное выполнение команды, однако команда то не выполнилась %)
значит выполнилась
HRonik писал(а):перенес скрипт в папку /data с правами 777 , ноль эмоций =\
))) ну дак пути никто ж не менял
чего ты от него хочешь
давай, выкладывай свой секретный usertraf.sh, никто его ломать не будет
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 17:10:47
ProFTP
во-первых по-моиму надо так
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-09 19:51:52
zingel
да и 755 а не 777
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 6:23:32
HRonik
Всем спасибо за ответы, сейчас попробую разобрать их.
zg писал(а):HRonik писал(а):Причем system() возвращает код 0, что означает успешное выполнение команды, однако команда то не выполнилась %)
значит выполнилась
HRonik писал(а):перенес скрипт в папку /data с правами 777 , ноль эмоций =\
))) ну дак пути никто ж не менял
чего ты от него хочешь
давай, выкладывай свой секретный usertraf.sh, никто его ломать не будет
Пути я естественно поменял
Скрипт usertraf.sh объяснять долго, хотя он и не большой, но он возвращает число (трафик за день) в файл с именем /tmp/stat/$user.tmp.
Потом этот файл открывается и считывается... такое извращение пришлось делать, потому что при выводе числа в STDOUT команда
опять же из консоли работала правильно , а из браузера отказывалась выполняться.
Дак вот, файл /tmp/stat/$user.tmp просто не создается , хотя system() возвращает 0....
Если нужен полный код usaertraf.sh (строчек 7) могу привести.
ProFTP писал(а):во-первых по-моиму надо так
Без разницы ему, из консоли выполняет , и так , и сяк...
zingel писал(а):да и 755 а не 777
поэтому может не пускать ? О_о
ну вам виднее сейчас попробую....
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 6:28:49
zingel
так уж повелось, что если не 755, то premature end of sript headers
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 6:32:20
zg
HRonik писал(а):Скрипт usertraf.sh объяснять долго, хотя он и не большой
чего его объяснять, просто выложи и всё
HRonik писал(а):Если нужен полный код usaertraf.sh (строчек 7) могу привести.
давно пора
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 6:44:48
HRonik
Вот я лох та:)
zg писал(а): HRonik писал(а):Скрипт usertraf.sh объяснять долго, хотя он и не большой
ты был невероятно прав))
дело оказалось пустяком, просто я вчера видимо до конца отупел, а с утра на свежий ум все решилось
Скрипт вызывал скрипт, который обращался к маленькому файлу, который (собака) лежал в недоступной директории.
Всем спасибо.
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:04:40
Alex Keda
вот за это - перл в топку.
неумение внятно ругаться на ошибки - это дебилизм...
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:12:51
zg
всё он умеет, просто его неправильно используют.
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:14:39
Alex Keda
ну так покажи чтобы ругался так же внятно как php
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:18:17
zg
Код: Выделить всё
zg# cat 1.sh
#!/usr/bin/perl -w
system('asdasda');
system('echo hello');
zg# ./1.sh
Can't exec "asdasda": No such file or directory at ./1.sh line 3.
hello
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:19:51
Alex Keda
ага.
а теперь чёнить посложней на пару килобайт?
Желательно с ошибками типа забытая скобка, точка с запятой и прочие часто распространённые.
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:24:47
zg
Код: Выделить всё
zg# cat 1.sh
#!/usr/bin/perl -w
asdasdasd
asdasdasd
asdasd
system('asdasda');
system('echo hello');
zg# ./1.sh
Unquoted string "asdasd" may clash with future reserved word at ./1.sh line 5.
syntax error at ./1.sh line 5, near "asdasd
system"
Execution of ./1.sh aborted due to compilation errors.
zg#
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 8:56:26
Alex Keda
хм... перл чтоли стал умнее....
а аналог var_dump() там появился? чтоб массив могло красиво показать?
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 9:28:45
zg
Код: Выделить всё
zg# cat 1.sh
#!/usr/bin/perl -w
use Data::Dumper;
my @array = ({gander => 'goose', fox => 'vixen'}, 48,
[ 39, 'steps', 'movie' ]);
print Dumper(\@array);
zg# ./1.sh
$VAR1 = [
{
'fox' => 'vixen',
'gander' => 'goose'
},
48,
[
39,
'steps',
'movie'
]
];
zg#
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 9:36:55
HRonik
А если perl скрипт из браузера запускать, как сделать чтоб он ошибки на странице показывал?
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 9:46:18
Alex Keda
мда.
походу я действительно его готовить не умею
Re: (perl) выполнение system() из браузера
Добавлено: 2008-09-10 11:20:51
zg
HRonik писал(а):А если perl скрипт из браузера запускать, как сделать чтоб он ошибки на странице показывал?
http://forum.lissyara.su/viewtopic.php?p=94740#p94740
lissyara писал(а):мда.
походу я действительно его готовить не умею