Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 17:33   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 267
По умолчанию Скрипт блокирует индексацию страницы яндексом

Добрый день. есть скрипт:

PHP код:
<?php
echo 'Visitor IP Adress = '
echo 
$_SERVER["REMOTE_ADDR"]; //это не влияет, проверено

$file="_log/base_user";
$col_zap=1000000;

//записываем логи в файл с блокировкой
$l_cash='';
$fh=fopen($file,"a+");
flock($fh,LOCK_EX);
fseek($fh,0);
while (!
feof($fh)) $l_cash.= fread($fh,8192);
$lines=explode("\n",$l_cash);
while(
count($lines)>$col_zaparray_shift($lines);
$l_cash=implode("\n",$lines);
$l_cash.=date("H:i:s d.m.Y"mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")))."|".$_SERVER['REMOTE_ADDR']."|".htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
ftruncate($fh,0);
fwrite($fh,$l_cash);
flock($fh,LOCK_UN);
fclose($fh);
?>
скрипт на каждой странице сайта, записывает в лог-файл IPadrr и дату посещения страницы (сбор статистики)
яндекс спотыкается об этот скрипт пишет "ошибка 500" (это в вебмонстере)
вообще браузеры страницы получают нормально и лог то же идет нормально
где косячок? (скрипт не мой)
Pcrepair вне форума Ответить с цитированием
Старый 26.11.2013, 18:17   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Что означает "яндекс спотыкается об этот скрипт"?
Какие страницы не индексируются?
По времени он нормально работает или долго?
motorway вне форума Ответить с цитированием
Старый 26.11.2013, 18:32   #3
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 267
По умолчанию

спотыкается значит: ошибка 500
если вызов скрипта отключить то все работает, в вебмонстере пишет:
Код статуса HTTP: "200 OK"
Время ответа сервера: 24мс
IP сайта: 77.222.40.18
Кодировка: windows-1251
Размер страницы: 2.36Кб
Pcrepair вне форума Ответить с цитированием
Старый 26.11.2013, 18:46   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Может, проблема с неправильными заголовками? Как подключается этот скрипт к основному?
motorway вне форума Ответить с цитированием
Старый 26.11.2013, 19:04   #5
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 267
По умолчанию

этот скрипт просто вызывается из ХТМЛ5 страницы
никаких основных скриптов там нет, а те что есть просто выводят текст(ХТМЛ-код)
страницы очень простые ХТМЛ5 + КСС3
по сути скрипт для учета посещений единственный РНР скрипт
Pcrepair вне форума Ответить с цитированием
Старый 26.11.2013, 19:11   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Тогда не могу сказать, надо смотреть. Error.log посмотрите, если есть.
motorway вне форума Ответить с цитированием
Старый 26.11.2013, 19:19   #7
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 267
По умолчанию

основного скрипта нет, этот единственный на ХТМЛ-странице
Pcrepair вне форума Ответить с цитированием
Старый 27.11.2013, 00:12   #8
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Я не знаю, как конкретно вы проверяете и выдаёт 500 ошибку, но если она действительно есть, стоит обратиться к техподдержке хостинга и посмотреть логи ошибок.
motorway вне форума Ответить с цитированием
Старый 27.11.2013, 14:41   #9
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 267
По умолчанию

канкретно проверяет яндекс(вебмастер.яндекс), оно же сообщает о ошибке

в логе написано:
PHP Fatal error: Maximum execution time of 10 seconds exceeded in /public_html/getdata.php on line 57
что соотвествует коду
while (!feof($fh)) $l_cash.= fread($fh,8192); //это строка 57

но что это значит(перевод понятен, по существу) и что менять?
Pcrepair вне форума Ответить с цитированием
Старый 27.11.2013, 16:40   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,184
По умолчанию

Менять полностью скрип, использовать бд. По существу, там цикл блоками по всему файлу, смотрите большой ли он, а скорее всего при мало мальской нагрузке, так как файл блокируется, остальные ждут разблокировке, тут то и кранты таймаут.

Яндекс однозначнотмногопоточно пытается это сделать и терпит неудачу. Можно время выполнения скрипта конечно в ноль поставить, чтоб не было ограничений, но лучше перейти к бд все же
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отредактировать скрипт главной страницы naskel WordPress и другие CMS 0 13.05.2013 07:45
Скрипт подгрузки страницы при скролинге alimov7 Помощь студентам 0 06.11.2012 15:21
Индексация сайта яндексом Onni WordPress и другие CMS 12 21.12.2011 20:19
Передать параметры вызова страницы во внутренний скрипт Sergey2 PHP 20 07.06.2010 23:41
скрипт при загрузке страницы xap4o JavaScript, Ajax 2 16.02.2010 23:33