parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

О том, как решил вопрос

Лозовенко Виктор 11.06.2005 22:14

На хост-сервере не работал PerlMagick, однако работают непосредственно утилиты в каталоге /usr/bin/

А парсер, соответственно, из каталога /usr/bin не находит/ А если находит(
$path_to_convert[$request:document-root/usr/bin]
), то не запускает ввиду безопасности версии.

А опасная версия не собирается по причине тотального незнания этой области.

Пишем для начала так на Перле:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
my $path_to_util = "/usr/bin/convert";
my $run-string = "$path_to_util $ENV{'CGI_COMMAND_STRING'}";
@args = ($run-string);
    system(@args) == 0
	 or print "system @args failed: $?";
# а если по барабану, что там произошло, комментируем print 
# и разкомментируем следующую строку
# or die "system @args failed: $?";
И кладем это в каталог /cgi-bin/
И называем, например, run.pl
И еще применяем право №755. :-)

А потом так на Парсере (сокращенная версия):
@convert[params]
^if(def $params){
# все параметры, что надо проверяем на валидность
# собираем командную строку для convert пакета ImageMagick
$command-string[-f resize .. и т.д.]
}

# и отдаем это скрипту, который лежит по адресу

$script-path[/cgi-bin/run.pl]
$result[^file::exec[$script_path;$.CGI_COMMAND_STRING[$command-string]]]
вот, типа того.