Старый 07.04.2011, 18:51   #11
Специалист
 
Регистрация: 19.01.2010
Адрес: дома
Сообщений: 195
Вес репутации: 128
ВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личность
По умолчанию

Интересует, готов поэкспериментировать ))
Желательно увидеть последовательный порядок действий.
ВладимирВ вне форума   Ответить с цитированием
Старый 22.04.2011, 17:58   #12
SAPE'р
 
Регистрация: 14.12.2009
Сообщений: 66
Вес репутации: 123
nalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личность
По умолчанию

Требования
1) нужно иметь на хостинге php (хотя бы интерпретатор командной строки)
2) apache + mod_rewrite обязательно
3) .... уточним со временем

Вывод на страницах кода и анонсов.
1) выбрать место внутри perl скрипта где будут выводиться анонсы
2) С помощью system вызвать команду php, результат system будет списком анонсов.

Ниже приведена команда для вывода из командной строки:

php -r 'define("_SAPE_USER", "#хешкод#");
require_once("#путь к файлу#/sape.php");
$o = array("force_show_code" => true, "request_uri" => "#текущий url который запрошен#", "host" => "#домен-сайта.зона#", "charset" => "#кодировка вывода#"); $sape_article = new SAPE_articles($o); echo $sape_article->return_announcements();'


Показ статьи.
Если есть возможность вызывать php через apache, то вызов можно сделать стандартным образом. Если же PHP стоит только как интерпретатор командной строки, то постребуется аналогичный вызов
через функцию System.
php -r 'define("_SAPE_USER", "#хешкод#"); require_once("sape.php"); $o = array("request_uri" => "#текущий url который запрошен#", "host" => "#домен-сайта.зона#", "charset" => "utf-8"); $sape_article = new SAPE_articles($o); echo $sape_article->process_request();'

делаем вызов этой команды в некоем файле #хешкод#.pl и
перенаправляем на него стандартные mod_rewrite инструкции (вместо #хешкод#.php)


to ВладимирВ Достаточно ли вам информации для экспериментов?
Есть ли у вас площадка с подходящими условиями?

Последний раз редактировалось nalimka2009; 25.04.2011 в 00:00. Причина: Добавлено сообщение
nalimka2009 вне форума   Ответить с цитированием
Старый 23.04.2011, 08:47   #13
Специалист
 
Регистрация: 19.01.2010
Адрес: дома
Сообщений: 195
Вес репутации: 128
ВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личность
По умолчанию

Площадка имеется, условия есть, покумекаю, отпишусь.

Добавлено через 12 часов 48 минут
Основная суть сводится к тому, чтобы в перл-скриптах была возможность выводить анонсы, остальное как на пхп-сайтах ))
Появились такие соображения
Нужен небольшой пхп-скрипт, который сохраняет в текстовый файл анонсы, данный файл запускается кроном, каждый n-минут(смею предположить, что раз в час вполне достаточно)
В перловом коде нужно открыть этот файл и иметь готовые анонсы(кроме настройки кодировки других заморочек не вижу ).
Как вы на это смотрите?
Я не большой знаток пхп, подмогните с кодом такого пхп файла и можно будет использовать. В частности нужен кусочек кода, который будет складывать анонсы в файл, т.е. то, что вызывается после $sape_article->return_announcements();
чтобы анонсы там лежали каждый с новой строки.

Последний раз редактировалось ВладимирВ; 23.04.2011 в 08:47. Причина: Добавлено сообщение
ВладимирВ вне форума   Ответить с цитированием
Старый 24.04.2011, 21:55   #14
SAPE'р
 
Регистрация: 14.12.2009
Сообщений: 66
Вес репутации: 123
nalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
Площадка имеется, условия есть, покумекаю, отпишусь.

Добавлено через 12 часов 48 минут
Основная суть сводится к тому, чтобы в перл-скриптах была возможность выводить анонсы, остальное как на пхп-сайтах ))
Первый параграф сообщения выше как раз посвящен этой теме.
По сути он как раз это и делает написанный выше скрипт в зависимости от страницы, только выводит
он данные не в тесктовый файл а в stdout.

Если вам нужны данные анонсов вы можете по крону запустить ту же самую команду с параметрами для главной и забрать потом перлом все данные из файла articles.db, который создает скрипт клиента.

Но тогда вы фактически будете повторять логику клиента, в то время как я предлагаю просто запустить php-шный клиент командой System.

Последний раз редактировалось nalimka2009; 24.04.2011 в 23:33.
nalimka2009 вне форума   Ответить с цитированием
Старый 24.04.2011, 23:29   #15
Специалист
 
Регистрация: 19.01.2010
Адрес: дома
Сообщений: 195
Вес репутации: 128
ВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личность
По умолчанию

Я понял, что это пойдет в stdout.
Трудностей особых нет, есть просто такие соображения, что системе будет тяжко из скрипта запускать другой скрипт, если кол-во запросов будет большим.
В этом отношении, куда проще забирать данные из текстового файла, который будет обновляться раз в час ))
Анонсы - это периодически обновляемые данные, зачем их генерить каждый раз при запуске скриптов ((
ВладимирВ вне форума   Ответить с цитированием
Старый 24.04.2011, 23:44   #16
SAPE'р
 
Регистрация: 14.12.2009
Сообщений: 66
Вес репутации: 123
nalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личность
По умолчанию

Поскольку руки наконец то дошли до perl могу привести реализацию вышеописанного:

#!/usr/bin/perl
$hashCode = "ваш хешкод здесь";
$path = "../". $hashCode. "/sape.php";
$charset = "utf-8";
$command = "php -r '";
$command .= 'define("_SAPE_USER", "' . $hashCode. '");
require_once("'. $path. '");
$o = array("force_show_code" => true, "request_uri" => "'. $ENV{'REQUEST_URI'}. '", "host" => "'. $ENV{'HTTP_HOST'}. '", "charset" => "'. $charset. '"); $sape_article = new SAPE_articles($o); echo $sape_article->return_announcements();';
$command .= "'";
system($command);

Этот код, запущенный как cgi выводит анонсы(если есть) и чеккод всегда
Предполагается, что он запускается из папки сgi-bin, которая находится внутри корня на одном уровне с папкой сапе, в другом случае $path нужно поменять.

Добавлено через 9 минут
Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
просто такие соображения, что системе будет тяжко из скрипта запускать другой скрипт, если кол-во запросов будет большим.
Согаласен - повышение нагрузки это минус.
Плюс же в том, что дублировать функционал клиента при этом не потребуется.
Если вы хотите выводить анонсы собственным скриптом - можно просто парсить articles.db, который будет создаваться по крону.
Можно прописать в крон запуск скрипта для любой страницы, он всегда будет обновлять список анонсов для всех и записывать его в articles.db
Формат данных там не очень сложный - сериализованый список. С форматом готов помочь.

Последний раз редактировалось nalimka2009; 24.04.2011 в 23:54. Причина: Добавлено сообщение
nalimka2009 вне форума   Ответить с цитированием
Старый 25.04.2011, 00:37   #17
Специалист
 
Регистрация: 19.01.2010
Адрес: дома
Сообщений: 195
Вес репутации: 128
ВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личность
По умолчанию

Не совсем въехал в логику анонсов, но предполагаю, что так:
для каждой страницы, где планируется отображать анонсы, они создаются индивидуально, т.е. на всех страницах не будет одинаковых анонсов

я походу заблуждался, что анонсы выводятся как "сквозняк"

думаю...

Добавлено через 22 минуты
Если создать текстовый файл, напр. url_list.db, где перл-скрипт будет проверять наличие обратившегося урл. Урла нет - добавит, если есть, то попробует получить(распарсить) articles.db и забрать анонсы для этого урла.
На кроне запускать скрипт, который будет для каждого урла из url_list.db создавать анонсы.

Последний раз редактировалось ВладимирВ; 25.04.2011 в 00:37. Причина: Добавлено сообщение
ВладимирВ вне форума   Ответить с цитированием
Старый 25.04.2011, 17:41   #18
SAPE'р
 
Регистрация: 14.12.2009
Сообщений: 66
Вес репутации: 123
nalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
для каждой страницы, где планируется отображать анонсы, они создаются индивидуально, т.е. на всех страницах не будет одинаковых анонсов
Совершенно верно, для каждого url сайта свое множество анонсов.
Никакие дополнительный фалы не нужны: sape.php и так создает
articles.db где этот список есть. Список содержит соответствия uri и множества анонсов которое выводится на данной странице. Все что нужно от перлового скрипта, - это получить его оттуда.



Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
Если создать текстовый файл, напр. url_list.db, где перл-скрипт будет проверять наличие обратившегося урл. Урла нет - добавит, если есть, то попробует получить(распарсить) articles.db и забрать анонсы для этого урла.
Зачем это делать если можно просто на перле читать данные из articles.db?

Добавлено через 3 часа 11 минут
Сериализация на perl
http://hurring.com/scott/code/perl/serialize/

Последний раз редактировалось nalimka2009; 25.04.2011 в 17:41. Причина: Добавлено сообщение
nalimka2009 вне форума   Ответить с цитированием
Старый 25.04.2011, 22:19   #19
Специалист
 
Регистрация: 19.01.2010
Адрес: дома
Сообщений: 195
Вес репутации: 128
ВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личностьВладимирВ - просто великолепная личность
По умолчанию

Цитата:
Сообщение от nalimka2009 Посмотреть сообщение
Сериализация на perl
туго въезжаю ((
не есть гут, что для сериализации нужен нестандартный модуль.
ИМХО: хочется, чтобы это была универсальная модель подходящая, даже для небольших хостингов(у меня есть разные хостинги).
как вариант, я думал свести к минимуму взаимодействие перл-скриптов с articles.db(не более, чем чтение данных), чтобы обработку анонсов производил только скрипт sape.php
ВладимирВ вне форума   Ответить с цитированием
Старый 26.04.2011, 16:22   #20
SAPE'р
 
Регистрация: 14.12.2009
Сообщений: 66
Вес репутации: 123
nalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личностьnalimka2009 - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
не есть гут, что для сериализации нужен нестандартный модуль.
не вижу в этом ничего плохого

Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
ИМХО: хочется, чтобы это была универсальная модель подходящая, даже для небольших хостингов(у меня есть разные хостинги).
не вижу тут никаких особенностей, большие маленькие какая разница?
это библиотека на perl, что может помешать подключить ее на хостинге с поддержкой perl?

Цитата:
Сообщение от ВладимирВ Посмотреть сообщение
как вариант, я думал свести к минимуму взаимодействие перл-скриптов с articles.db(не более, чем чтение данных), чтобы обработку анонсов производил только скрипт sape.php
Не уверен что точно вас понял что вы хотите сделать, но думаю что
у вас все может получиться, дерзайте. Информации у вас достаточно.
Если чтото непонятно - задавайте конкретные вопросы.

Последний раз редактировалось nalimka2009; 26.04.2011 в 19:56.
nalimka2009 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос про perl и get canada14 Разработка и сопровождение сайтов 1 30.01.2010 20:16
PHP и PERL одновременно AB501 Вопросы от новичков 4 03.06.2009 13:19
Не срабатывает Perl код. zooloo Вопросы от новичков 4 18.12.2007 15:51
PHP + PERL KF-WEB Установка кода на различные движки 5 25.11.2007 14:59
PHP и Perl одновременно i58 Вопросы по работе системы 0 05.09.2007 19:55


Часовой пояс GMT +3, время: 15:33.