Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   Официальный клиент Perl - установка кода на сайт с поддержкой Perl (http://forum.sape.ru/showthread.php?t=93283)

assedo 27.08.2014 20:57

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

Цитата:

"$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;

Meneldor 27.08.2014 22:01

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

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

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

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

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

verbose => 1,

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

Если же в папке с модулем файл с расширением .json не появляется вообще, тогда нужно смотреть в error_log вашего веб-сервера – наверняка не хватает каких-то модулей.

assedo 08.09.2014 22:59

Цитата:

Сообщение от Meneldor (Сообщение 1421413)
М-да... <ИМЯ_ХОСТА> так и оставляете?

Не нужно считать других глупее себя. ;)

Цитата:

Сообщение от Meneldor (Сообщение 1421413)
добавляйте параметр:

verbose => 1,

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

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

Цитата:

Сообщение от Meneldor (Сообщение 1421413)
Если же в папке с модулем файл с расширением .json не появляется вообще, тогда нужно смотреть в error_log вашего веб-сервера

Вот она - вершина хамского отношения к пользователям. Если бы скрипт дох через die, был бы повод лезть в лог и смотреть, от чего он сдох. Но ведь ни в инструкции, ни в ответе программы, ни в подразумеваемых действиях программы этого нет. Зато есть 100500 ответов не по теме.

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

Для нетелепатов: смотрите логи ошибок сервера и будет вам удача. Талантливые программисты с этим не заморачиваются. Им пофигу на макетинг и на бабло, они выше этого. ;)

Meneldor 09.09.2014 01:10

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

assedo 09.09.2014 01:29

Цитата:

Сообщение от Meneldor (Сообщение 1422356)
я вам предложил помощь (скайп)

Работа одной системы не должна зависеть от наличия другой. В данном случае от скайпа.
Цитата:

Сообщение от Meneldor (Сообщение 1422356)
вы привели неправильный пример кода

я привел правильный пример, который сейчас и работает. Только без указания хеша и домена (по понятным причинам).
Цитата:

Сообщение от Meneldor (Сообщение 1422356)
просто для информации: я перловый модуль по доброте душевной пишу

Вы невнимательно читаете, я об этом написал выше:
Цитата:

Сообщение от assedo (Сообщение 1422352)
Им пофигу на макетинг и на бабло, они выше этого.

Кто мешает брать деньги? :)
Цитата:

Сообщение от Meneldor (Сообщение 1422356)
так и не прозвучавшее от вас "спасибо".

Я понимаю, что все гении невнимательны к мелочам, но всё же:
Цитата:

Сообщение от assedo (Сообщение 1422352)
вопрос решен, спасибо всем

Вроде, кроме Вас персонально тут никого не было. Но мне не жалко повторить: спасибо, Meneldor.
Цитата:

Сообщение от Meneldor (Сообщение 1422356)
ваш кривой JSON::XS рапортует об ошибках

Он не мой. Это тоже самое, как сказать "ваш кривой мерседес|лада калина". Едем на том, что есть|можем позволить себе.
Цитата:

Сообщение от Meneldor (Сообщение 1422356)
вы достаточно умный и смогли разобраться

Система не должна зависеть от того, умный кто-то или дурак, но это уже не вам. Налицо отсутствие нормальной поддержки кода на Perl. :( Абсолютно необоснованное, на мой взгляд.

Meneldor 09.09.2014 20:47

assedo, имеете полное право взять эту обязанность на себя - вы ведь явно понимаете, как сделать всё правильно. Надеюсь, проблем с модулем у вас больше не будет.

Kenjik 12.12.2014 23:29

Добрый день.

На несколько сайтов на хостинге 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

В логах ничего. Что делать?

Meneldor 13.12.2014 21:54

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-комментариев).

vga 16.02.2015 20:00

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

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

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

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

Meneldor 16.02.2015 22:17

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

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

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

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

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

Код:

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


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

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.