Вернуться   Форум SAPE.RU > Система SAPE.ru > Установка кода на различные движки

-->
Ответ
 
Опции темы
Старый 27.08.2014, 20:57   #11
Специалист
 
Регистрация: 31.03.2008
Сообщений: 115
Вес репутации: 132
assedo скоро станет известенassedo скоро станет известен
По умолчанию

А чего писать то? Я уже всё написал: меняю библиотеку - ссылки перестают отображаться. Возвращаю старую на место - всё работает. Коды все копирую из кабинета вебмастера. Какие куски кода смотреть нужно?

Цитата:
"$ENV{DOCUMENT_ROOT}/хеш/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => 'хеш',
host => '<ИМЯ_ХОСТА>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->return_links;
assedo вне форума   Ответить с цитированием
Старый 27.08.2014, 22:01   #12
Специалист
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 121
Вес репутации: 148
Meneldor скоро станет известенMeneldor скоро станет известен
По умолчанию

М-да... <ИМЯ_ХОСТА> так и оставляете?

Замените это всё просто на код:

"$ENV{DOCUMENT_ROOT}/хеш/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => 'хеш',
);
print $sape->return_links;

"хеш", конечно же, нужно заменить сами знаете на что.

Если не получится, добавляйте параметр:

verbose => 1,

в вызов new() – и смотрите в исходном коде страницы, какую ошибку выводит модуль выводит в том месте, где должны быть ссылки.

Если же в папке с модулем файл с расширением .json не появляется вообще, тогда нужно смотреть в error_log вашего веб-сервера – наверняка не хватает каких-то модулей.
Meneldor вне форума   Ответить с цитированием
Старый 08.09.2014, 22:59   #13
Специалист
 
Регистрация: 31.03.2008
Сообщений: 115
Вес репутации: 132
assedo скоро станет известенassedo скоро станет известен
По умолчанию

Цитата:
Сообщение от Meneldor Посмотреть сообщение
М-да... <ИМЯ_ХОСТА> так и оставляете?
Не нужно считать других глупее себя.

Цитата:
Сообщение от Meneldor Посмотреть сообщение
добавляйте параметр:

verbose => 1,
Эффекта - ноль. Выводит только пробел.

Я не сомневаюсь, что вы все очень талантливые программисты, но, к сожалению, подвержены их типичной болезни - хамству, по отношению к "непрограммистам".

Цитата:
Сообщение от Meneldor Посмотреть сообщение
Если же в папке с модулем файл с расширением .json не появляется вообще, тогда нужно смотреть в error_log вашего веб-сервера
Вот она - вершина хамского отношения к пользователям. Если бы скрипт дох через die, был бы повод лезть в лог и смотреть, от чего он сдох. Но ведь ни в инструкции, ни в ответе программы, ни в подразумеваемых действиях программы этого нет. Зато есть 100500 ответов не по теме.

Вобщем вопрос решен, спасибо всем за многобукв. Проблема была в некорректной установке модуля JSON::XS из-за глюка в cPanel'и. Модуль был, но не работал как надо, программа это никак не отражала.

Для нетелепатов: смотрите логи ошибок сервера и будет вам удача. Талантливые программисты с этим не заморачиваются. Им пофигу на макетинг и на бабло, они выше этого.
assedo вне форума   Ответить с цитированием
Старый 09.09.2014, 01:10   #14
Специалист
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 121
Вес репутации: 148
Meneldor скоро станет известенMeneldor скоро станет известен
По умолчанию

assedo, я вам предложил помощь (скайп) - вас моё предложение не устроило. Затем вы привели неправильный пример кода, каким его, как ни смешно, устанавливает чуть ли не половина людей, - и оскорбились на то, что я переспросил? Вам просто для информации: я перловый модуль по доброте душевной пишу, и помогаю людям с проблемами я на тех же условиях - ибо в САПЕ не работаю и никогда не работал. Держите сердечное "пожалуйста" на так и не прозвучавшее от вас "спасибо". И извините, что не смог повлиять на то, как ваш кривой JSON::XS рапортует об ошибках, - если можете научить его "дохнуть через die", научите. Очень рад, что вы достаточно умный и смогли разобраться в проблеме сами (почти).
Meneldor вне форума   Ответить с цитированием
Старый 09.09.2014, 01:29   #15
Специалист
 
Регистрация: 31.03.2008
Сообщений: 115
Вес репутации: 132
assedo скоро станет известенassedo скоро станет известен
По умолчанию

Цитата:
Сообщение от Meneldor Посмотреть сообщение
я вам предложил помощь (скайп)
Работа одной системы не должна зависеть от наличия другой. В данном случае от скайпа.
Цитата:
Сообщение от Meneldor Посмотреть сообщение
вы привели неправильный пример кода
я привел правильный пример, который сейчас и работает. Только без указания хеша и домена (по понятным причинам).
Цитата:
Сообщение от Meneldor Посмотреть сообщение
просто для информации: я перловый модуль по доброте душевной пишу
Вы невнимательно читаете, я об этом написал выше:
Цитата:
Сообщение от assedo Посмотреть сообщение
Им пофигу на макетинг и на бабло, они выше этого.
Кто мешает брать деньги?
Цитата:
Сообщение от Meneldor Посмотреть сообщение
так и не прозвучавшее от вас "спасибо".
Я понимаю, что все гении невнимательны к мелочам, но всё же:
Цитата:
Сообщение от assedo Посмотреть сообщение
вопрос решен, спасибо всем
Вроде, кроме Вас персонально тут никого не было. Но мне не жалко повторить: спасибо, Meneldor.
Цитата:
Сообщение от Meneldor Посмотреть сообщение
ваш кривой JSON::XS рапортует об ошибках
Он не мой. Это тоже самое, как сказать "ваш кривой мерседес|лада калина". Едем на том, что есть|можем позволить себе.
Цитата:
Сообщение от Meneldor Посмотреть сообщение
вы достаточно умный и смогли разобраться
Система не должна зависеть от того, умный кто-то или дурак, но это уже не вам. Налицо отсутствие нормальной поддержки кода на Perl. Абсолютно необоснованное, на мой взгляд.
assedo вне форума   Ответить с цитированием
Старый 09.09.2014, 20:47   #16
Специалист
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 121
Вес репутации: 148
Meneldor скоро станет известенMeneldor скоро станет известен
По умолчанию

assedo, имеете полное право взять эту обязанность на себя - вы ведь явно понимаете, как сделать всё правильно. Надеюсь, проблем с модулем у вас больше не будет.
Meneldor вне форума   Ответить с цитированием
Старый 12.12.2014, 23:29   #17
Новичок
 
Регистрация: 12.12.2014
Сообщений: 1
Вес репутации: 0
Kenjik на пути к лучшему
По умолчанию

Добрый день.

На несколько сайтов на хостинге nic.ru вытаюсь установить Perl-код.
Система пишет "Код на сайте не установлен".
При попытке открыть файл, например, http://tookan.ru/cgi-bin/sape.cgi -
500 ошибка.

Внутри файла:
#!/usr/bin/perl

print "Content-type: text/html\n\n";

"$ENV{DOCUMENT_ROOT}/****d2c644f0fdd7354740510ab36712/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => '****d2c644f0fdd7354740510ab36712',
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);

print $sape->get_links;


**** - естествено другое, но заменил, чтобы не смущало.

На других площадках этого же хостера даже и 500 ошибки нет. Просто пустота
Например вот тут http://www.on33.ru/cgi-bin/sape.cgi

В логах ничего. Что делать?
Kenjik вне форума   Ответить с цитированием
Старый 13.12.2014, 21:54   #18
Специалист
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 121
Вес репутации: 148
Meneldor скоро станет известенMeneldor скоро станет известен
По умолчанию

Kenjik

Если есть 500 ошибка, то в error_log точно должны быть сообщения. Посмотрите ещё раз, пожалуйста.

На тех же площадках, где просто пустота, проверьте, создаётся ли файл links.json в папке с модулем?

Проверьте права на папку ****d2c644f0fdd7354740510ab36712 - должны быть 0777.

Добавьте в вызов new параметры:

my $sape = new SAPE::Client(
user => '****d2c644f0fdd7354740510ab36712',
charset => 'windows-1251',
force_show_code => 1,
verbose => 1,

);

И после этого проверьте, не появляется ли вместо "пустоты" какой-то код (только смотрите исходники, т.к. код выводится в виде HTML-комментариев).
Meneldor вне форума   Ответить с цитированием
Старый 16.02.2015, 20:00   #19
Специалист
 
Аватар для vga
 
Регистрация: 23.08.2008
Адрес: Санкт-Петербург
Сообщений: 171
Вес репутации: 127
vga скоро станет известен
По умолчанию

Здравствуйте!
Служба поддержки рекомендовала здесь задать вопрос разработчику по Коду счетчика на Perl.

Версия последняя. Количестов уникальных хостов в панеле плавно скатилось в 50 тыс до 1 тыс. Реальная посещаемость примерно 3тыс. в день.

Куда можно копнуть? В Linux Gentoo недавно обновлял все пакеты до последней сборки, сам в Perl в том числе.

Добавлено через 1 час 16 минут
Добавлю, ситуация прояснилась. Сайт работает в режиме FastCGI.
Если отключить этот режим и поставить обычный CGI, то код счетчика появляется нормально.
Для справки, FastCGI - это повторное использование загруженного в память модуля. То есть часть переменных, если они были изменены, при повторном запуске будет содержать измененные значение, а не такие, как если бы модуль запускался первый раз. Их нужно проинициализировать. Исправьте пожалуйста, готов дать доступ к клиенту. Хотя вы сами можете легко сэмулировать ситуацию, запуская модуль несколько раз в цикле.

Последний раз редактировалось vga; 16.02.2015 в 20:00. Причина: Добавлено сообщение
vga вне форума   Ответить с цитированием
Старый 16.02.2015, 22:17   #20
Специалист
 
Регистрация: 23.11.2006
Адрес: Москва
Сообщений: 121
Вес репутации: 148
Meneldor скоро станет известенMeneldor скоро станет известен
По умолчанию

Здравствуйте!

Для очистки совести хотел бы подчеркнуть, что работа этого модуля никогда не гарантировалась в persistent-средах, таких как FastCGI, mod_perl, PSGI и т.п.

Однако, видимо, основной функционал работает, и это хорошо. Готов предложить решение описанной проблемы, которые вы можете применить самостоятельно.

1. Инициализацию SAPE::Client в каждой итерации рабочего цикла придётся делать заново. Это, конечно, снижает ценность FastCGI, но без приличного перелопачивания модуля другого решения нет.

2. Прямо перед вызовом SAPE::Client->new следует вставить такую строку:

Код:
$SAPE::page_obligatory_output_shown = 0;
Да, это не очень красивое решение, но, опять же, поможет решить проблему локально и быстро.
Meneldor вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неблокирующий клиент на Perl или для nginx? alexbyk Установка кода на различные движки 13 29.03.2012 20:09
Установка кода на perl Klopopryg Установка кода на различные движки 19 23.11.2009 23:16
установка кода на 2 сайта (PERL) - 10$ Henpyxa Установка кода на различные движки 0 26.02.2008 13:42
Установка нового кода на страницы с SSI или Perl возможна? tmatm Контекстные ссылки и все, что с ними связано 15 03.02.2008 21:08
Установка Perl и PHP-кода сапы на один сайт Kerk Вопросы по работе системы 1 11.07.2007 12:53


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