А чего писать то? Я уже всё написал: меняю библиотеку - ссылки перестают отображаться. Возвращаю старую на место - всё работает. Коды все копирую из кабинета вебмастера. Какие куски кода смотреть нужно?
Цитата:
|
М-да... <ИМЯ_ХОСТА> так и оставляете?
Замените это всё просто на код: "$ENV{DOCUMENT_ROOT}/хеш/SAPE.pm" =~ /^(.+)$/; require $1; my $sape = new SAPE::Client( user => 'хеш', ); print $sape->return_links; "хеш", конечно же, нужно заменить сами знаете на что. Если не получится, добавляйте параметр: verbose => 1, в вызов new() – и смотрите в исходном коде страницы, какую ошибку выводит модуль выводит в том месте, где должны быть ссылки. Если же в папке с модулем файл с расширением .json не появляется вообще, тогда нужно смотреть в error_log вашего веб-сервера – наверняка не хватает каких-то модулей. |
Цитата:
Цитата:
Я не сомневаюсь, что вы все очень талантливые программисты, но, к сожалению, подвержены их типичной болезни - хамству, по отношению к "непрограммистам". Цитата:
Вобщем вопрос решен, спасибо всем за многобукв. Проблема была в некорректной установке модуля JSON::XS из-за глюка в cPanel'и. Модуль был, но не работал как надо, программа это никак не отражала. Для нетелепатов: смотрите логи ошибок сервера и будет вам удача. Талантливые программисты с этим не заморачиваются. Им пофигу на макетинг и на бабло, они выше этого. ;) |
assedo, я вам предложил помощь (скайп) - вас моё предложение не устроило. Затем вы привели неправильный пример кода, каким его, как ни смешно, устанавливает чуть ли не половина людей, - и оскорбились на то, что я переспросил? Вам просто для информации: я перловый модуль по доброте душевной пишу, и помогаю людям с проблемами я на тех же условиях - ибо в САПЕ не работаю и никогда не работал. Держите сердечное "пожалуйста" на так и не прозвучавшее от вас "спасибо". И извините, что не смог повлиять на то, как ваш кривой JSON::XS рапортует об ошибках, - если можете научить его "дохнуть через die", научите. Очень рад, что вы достаточно умный и смогли разобраться в проблеме сами (почти).
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
assedo, имеете полное право взять эту обязанность на себя - вы ведь явно понимаете, как сделать всё правильно. Надеюсь, проблем с модулем у вас больше не будет.
|
Добрый день.
На несколько сайтов на хостинге 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
Если есть 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-комментариев). |
Здравствуйте!
Служба поддержки рекомендовала здесь задать вопрос разработчику по Коду счетчика на Perl. Версия последняя. Количестов уникальных хостов в панеле плавно скатилось в 50 тыс до 1 тыс. Реальная посещаемость примерно 3тыс. в день. Куда можно копнуть? В Linux Gentoo недавно обновлял все пакеты до последней сборки, сам в Perl в том числе. Добавлено через 1 час 16 минут Добавлю, ситуация прояснилась. Сайт работает в режиме FastCGI. Если отключить этот режим и поставить обычный CGI, то код счетчика появляется нормально. Для справки, FastCGI - это повторное использование загруженного в память модуля. То есть часть переменных, если они были изменены, при повторном запуске будет содержать измененные значение, а не такие, как если бы модуль запускался первый раз. Их нужно проинициализировать. Исправьте пожалуйста, готов дать доступ к клиенту. Хотя вы сами можете легко сэмулировать ситуацию, запуская модуль несколько раз в цикле. |
Здравствуйте!
Для очистки совести хотел бы подчеркнуть, что работа этого модуля никогда не гарантировалась в persistent-средах, таких как FastCGI, mod_perl, PSGI и т.п. :) Однако, видимо, основной функционал работает, и это хорошо. Готов предложить решение описанной проблемы, которые вы можете применить самостоятельно. 1. Инициализацию SAPE::Client в каждой итерации рабочего цикла придётся делать заново. Это, конечно, снижает ценность FastCGI, но без приличного перелопачивания модуля другого решения нет. 2. Прямо перед вызовом SAPE::Client->new следует вставить такую строку: Код:
$SAPE::page_obligatory_output_shown = 0; |
Часовой пояс GMT +3, время: 17:02. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.