Вернуться   Форум SAPE.RU > Система SAPE.ru > Ошибки при работе с системой

-->
Ответ
 
Опции темы
Старый 16.09.2007, 13:15   #1
Новичок
 
Регистрация: 16.09.2007
Сообщений: 31
Вес репутации: 156
sdvv на пути к лучшему
Exclamation Система не видит код на странице, пока не включу force_show_code

Добрый день.

Развернул папку, поставил права, установил код. На странице пусто.
Захожу в SAPE.RU, вбиваю сайт - говорит проверьте установку кода.
Если ставлю force_show_code=true, то на странице по прежнему НИЧЕГО не показывается, но зато SAPE нормально все находит и начинает индексировать сайт.

ИМХО это хак, который непонятно как скажется на работоспособности в дальнейшем. Что делать?

Дополнительная информация:
1. Код PHP выполняется, из вышесказанного это понятно.

2. В links.db записи добавляются
a:3:{s:18:"__sape_delimiter__";s:0:"";s:16:"__sape _new_url__";s:17:"<!--check code-->";s:12:"__sape_ips__";a:5:{i:0;s:13:"81.176.228.7 3";i:1;s:13:"87.242.7
4.101";i:2;s:14:"81.176.230.132";i:3;s:13:"81.176. 228.49";i:4;s:13:"80.251.136.38";}}

3. Окружение:
php-5.1.6-12.el5
php-cli-5.1.6-12.el5
php-common-5.1.6-12.el5
php-devel-5.1.6-12.el5
php-ldap-5.1.6-12.el5
php-mbstring-5.1.6-12.el5
php-mysql-5.1.6-12.el5
php-pdo-5.1.6-12.el5

4. Файрвол опущен, SELinux выключен

5. Стоит Front-End (nginx 0.5.31)\Back-End (apache httpd httpd-2.2.3-7.el5.centos)
Фронт отдает на апач запрос с передачей полей:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

6. Код установлен несколько дней назад, т.е. свежий.

7. Код расположен в отдельном файле, но подключается НЕ через подзапрос.
require_once( dirname(__FILE__) . '/templates/tables4.php');

8. Проблема скорее всего не в сайте, а в коде либо сервере, т.к. стоит несколько сайтов, ни один SAPE не увидел без force_show_code

Спасибо.

Последний раз редактировалось sdvv; 16.09.2007 в 13:18.
sdvv вне форума   Ответить с цитированием
Старый 16.09.2007, 20:00   #2
Мастер
 
Аватар для Mendel
 
Регистрация: 10.07.2007
Адрес: Одесса-мама :)
Сообщений: 508
Вес репутации: 173
Mendel - очень-очень хороший человекMendel - очень-очень хороший человекMendel - очень-очень хороший человекMendel - очень-очень хороший человекMendel - очень-очень хороший человек
Отправить сообщение для Mendel с помощью ICQ
По умолчанию

передавайте хост и адрес страницы напрямую - это часто описывалось.
force_show_code дает то что выводится кометарий по которому сапа узнает что ваш сайт содержит скрипт.
Mendel вне форума   Ответить с цитированием
Старый 16.09.2007, 20:12   #3
Администратор
 
Регистрация: 22.11.2006
Сообщений: 5,868
Вес репутации: 21475119
Avelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспорима
По умолчанию

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

читайте вопрос 7 б) в частых вопросах
Avelon вне форума   Ответить с цитированием
Старый 17.09.2007, 00:42   #4
Новичок
 
Регистрация: 16.09.2007
Сообщений: 31
Вес репутации: 156
sdvv на пути к лучшему
По умолчанию

Спасибо за помощь. К сожалению эту подсказку я читал, но, похоже, это не мой случай и вот почему:

1. ИЩЕМ "ВЫВОДИТСЯ КОММЕНТАРИЙ"

Я тоже ожидал, что
Цитата:
force_show_code дает то что выводится кометарий по которому сапа узнает что ваш сайт содержит скрипт
но в HTML тексте страницы я не вижу никакого вывода от $sape->return_links(); Тем не менее система скрипт начинает видеть. Можно получить пояснения по механизму, как SAPE ищет свой скрипт?

Вот как подключается:
<?php
define('_SAPE_USER', '1*******************');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$o['force_show_code'] = true;
$o['verbose'] = true;
$sape = new SAPE_client($o);
echo "SAPE START";
$sape->return_links();
echo "SAPE STOP";

?>

Вот что в HTML:
SAPE STARTSAPE STOP

Т.е. нет никакого вывода комментария.

2. ПРОВЕРЯЕМ ОКРУЖЕНИЕ

Создаю файлик info.php с вызовом phpinfo и вижу следующее в выводе:
Apache Environment
HTTP_HOST mrate.net
HTTP_X_REAL_IP 195.34.***.***
HTTP_REMOTE_ADDR 195.34.***.***
HTTP_X_FORWARDED_FOR 195.34.***.***
SERVER_NAME mrate.net
SERVER_ADDR 127.0.0.1
SERVER_PORT 80
REMOTE_ADDR 127.0.0.1
REQUEST_URI /info.php
SCRIPT_NAME /info.php

HTTP Request Headers
HTTP Request GET /info.php HTTP/1.0
Host mrate.net
X-Real-IP 195.69.***.***
REMOTE_ADDR 195.69.***.***
X-Forwarded-For 195.69.***.***

Т.е., как видите, переменная HTTP_HOST отдается корректно.
Также я не понял как может быть вот такое
Цитата:
"Ваш сервер не верно или в нестандартном формате возвращает переменную окружения HTTP_HOST (такая проблема часто бывает, если сайт ...... "висит" на нестандартном порту"
Да, сайт имеет алиас с www., но судя по Вашему коду Вы отрезаете www.

Имхо используемые переменные переданы корректно.
Также непонятно, почему нет никакого воздействия директивы verbose?

Спасибо

Последний раз редактировалось Ank; 20.09.2007 в 14:48.
sdvv вне форума   Ответить с цитированием
Старый 19.09.2007, 17:34   #5
Новичок
 
Регистрация: 16.09.2007
Сообщений: 31
Вес репутации: 156
sdvv на пути к лучшему
По умолчанию

И все таки. Хочется получить помощь от админов.

$o['host'] = mrate.net';
$sape = new SAPE_client($o);
unset($o);

не помогло, да и не должно было помочь.
sdvv вне форума   Ответить с цитированием
Старый 19.09.2007, 18:54   #6
Администратор
 
Регистрация: 22.11.2006
Сообщений: 5,868
Вес репутации: 21475119
Avelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспорима
По умолчанию

Цитата:
Сообщение от sdvv Посмотреть сообщение
И все таки. Хочется получить помощь от админов.

$o['host'] = mrate.net';
$sape = new SAPE_client($o);
unset($o);

не помогло, да и не должно было помочь.
в первой строчке ошибка

если так и не получится присылайте фтп доступ мне в личку + все данные на аккаунт
Avelon вне форума   Ответить с цитированием
Старый 20.09.2007, 14:21   #7
Новичок
 
Регистрация: 16.09.2007
Сообщений: 31
Вес репутации: 156
sdvv на пути к лучшему
По умолчанию

Да, видимо когда копировал строку из mc потерял кавычку.

Отписался в личку. Спасибо.
sdvv вне форума   Ответить с цитированием
Старый 21.09.2007, 12:42   #8
Новичок
 
Регистрация: 16.09.2007
Сообщений: 31
Вес репутации: 156
sdvv на пути к лучшему
По умолчанию

Благодаря Avalon и персоналу SAPE проблема решилась быстро, за что им отдельная благодарность.

Теперь, собственно пояснение:
Похожая проблема может быть у пользователей, использующих Front-End(nginx, lighttpd etc.) или Reverse Proxy(squid etc.) на сервере, к сожалению таких много. Возможны проблемы для пользователей, которые ходят через Proxy.

Причина:
В настоящее время скрипт sape ориентируется на поле REMOTE_ADDR для определения адреса клиента.

Вполне очевидно, что в нашем случае это будет адрес Front-End или Proxy (как правило, если Front-End стоит на том-же сервере - 127.0.0.1). При этом настоящие значения принято заносить в HTTP_X_REAL_IP и HTTP_REMOTE_ADDR.

Как лечить:
Пока в sape.php не внесли изменения (надеюсь, что их внесут), вот решение персонала SAPE (вставить в начало подключения скрипта)
$_SERVER[REMOTE_ADDR] = $_SERVER[HTTP_REMOTE_ADDR];
вот моя вариация на тему их решения, ИМХО более верная. Это если не вмешиватся в sape.php
if (isset($_SERVER['HTTP_X_REAL_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; else {
if (isset($_SERVER['HTTP_REMOTE_ADDR'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_REMOTE_ADDR'];
}

Полностью подключение выглядит вот так:

<?php
define('_SAPE_USER', '****');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
if (isset($_SERVER['HTTP_X_REAL_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP']; else {
if (isset($_SERVER['HTTP_REMOTE_ADDR'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_REMOTE_ADDR'];
}
$sape = new SAPE_client();
echo $sape->return_links();
?>

Все. Надеюсь это будет полезным.
Спасибо персоналу SAPE за быструю и квалифицированную помощь.

Последний раз редактировалось Ank; 21.09.2007 в 12:52.
sdvv вне форума   Ответить с цитированием
Старый 21.09.2007, 17:54   #9
Администратор
 
Аватар для Hedgehog
 
Регистрация: 10.11.2006
Сообщений: 166
Вес репутации: 206
Hedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущееHedgehog - прекрасное будущее
По умолчанию

Сделали новую версию кода. Можно скачивать, если кому-то интересно.
Hedgehog вне форума   Ответить с цитированием
Старый 21.09.2007, 18:45   #10
Администратор
 
Регистрация: 22.11.2006
Сообщений: 5,868
Вес репутации: 21475119
Avelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспоримаAvelon - репутация неоспорима
По умолчанию

в соответствии с вышеописанным глюком
Avelon вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ни на одной странице сайта пока не найден контекстный код. Madjack Контекстные ссылки и все, что с ними связано 10 29.07.2008 08:51
При регистрации сайта система не видит код для Джумлы ArCher1981 Вопросы от новичков 3 16.03.2008 00:01
Пока молчит поддержка наблюдаю Gamburger Вопросы по работе системы 6 19.02.2008 17:07
Продается Znakomix.net Pr 2 Тиц пока 0 s0s0s0s Деловое сотрудничество 17 15.01.2008 17:42
Система не видит ссылки, саппорт молчит rudomilov Ошибки при работе с системой 9 18.07.2007 19:03


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