Блог Обо мне Храню Читаю Ем 99  

04.12.2007, Nº 1509



Spesta — винтажная система статистики

Выкинул гугловский «Урчин» и поставил смирновскую «Спесту». Все эти Flash-графики у «Гугла» — это очень красиво, но мне не нравится смотреть по нескольку минут на процесс загрузки, а время дорого. Тем более, что большинство инструментов, которые предоставляет эта статистика, мне не нужны, я туда даже не заглядываю.

Четыре совета, если будете ставить «Спесту».

Во-первых, Дима писал её в бородатые времена, так что для работы на нормальном хостинге она требует влюченного register_globals и выключенного error_reporting. В Apache, в файле .htaccess это делается так:
php_flag error_reporting off
php_flag register_globals on
Во-вторых, откройте файл index.php, найдите строку 162 (там выводится значение ТИЦ, в этой строке должно быть слово cycounter), после этой строки добавьте:
echo "<b>Google</b>:<br /><br />
<script language='JavaScript'
src='http://www.mipagerank.com/mipagerank.php/$hosturl?d=2'></script>";
Теперь вы сможете видеть ещё и PageRank вашего сайта.

Совет номер три. Откройте counter.php, найдите строку 150, там определяется IP человека, который к вам зашёл. Определяется несколько… некорректно, да и считает всех с одного IP за одного человека. Чтобы хоть как-то поправить это положение, впишите туда следующее, вместо кода определения IP-адреса:
$ip = $_SERVER['REMOTE_ADDR'];
$fields = array
(
	'HTTP_X_FORWARDED_FOR', 'CLIENT_IP', 'HTTP_FROM', 'HTTP_CLIENT_IP', 'HTTP_CLIENTIP',
	'HTTP_CLIENT', 'HTTP_X_FORWARDED', 'HTTP_X_DELEGATE_REMOTE_HOST', 'HTTP_SP_HOST',
);

foreach ($fields as $field)
if (isset($_ENV[$field]))
{
	$ip .= ' '.$_ENV[$field];
	break;
}

$fields = array
(
        'HTTP_USER_AGENT', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_ACCEPT_CHARSET',
        'HTTP_ACCEPT_ENCODING', 'HTTP_TE', 'HTTP_UA_CPU', 'HTTP_UA_OS', 'HTTP_UA_COLOR',
        'HTTP_UA_PIXELS', 'HTTP_UA_VOICE',
);

$uniq = '';
foreach ($fields as $field)
if (isset($_SERVER[$field])) $uniq .= '~'.$_SERVER[$field];

$ip .= ' ('.md5($uniq).')';
Четвёртый совет — поставьте flock. Нет, не настройку в конфигурационном файле, она ни на что не влияет. Если умеете — поставьте вызов flock после каждого fopen. Если не умеете — ну оставьте как есть.
04.12 16:31
04.12 16:31



04.12.2007, Nº 1509

#1 nudnik.ru 04.12.2007, 17:53

Так, а похвалить?

#2 bolk @bolknote.ru04.12.2007, 17:59

Нормально, выкинул статистику Гугла (sic!) и поставил «Спесту», это не похвала? :)

#3 indeyets.livejournal.com 04.12.2007, 18:22

это получается локальная считалка статистики… не интересно
гугл хорош как раз тем что оно считается где-то в другом месте и не отнимает ресурсов сервера
и техсаппортить его не нужно :-)

#4 gofman.livejournal.com 04.12.2007, 19:19

да гавно у гугла статистика.

#5 nudnik.ru 04.12.2007, 20:09

Правильный вариант:

С отвращением выкинул гугловский «Урчин» и с радостью поставил смирновскую «Спесту».

#6 bolk @bolknote.ru04.12.2007, 20:15

Индеец, ну, ты зайди к Диме на сайт, там есть демо вход, посмотри на gentime :)

Гофман, гавно, да.

Дим, всё так и было :)

#7 openid.yandex.ru/users/arthas-1 04.12.2007, 23:44

"Спеста" у меня заглючила однажды на "Мастерхосте" на всех доменах разом. Видимо сразу после смены какого-то ПО на сервере. Позже Дима обновил её, я скачал поставил, результат тот же - ошибка 500. Так ничего и не понял, откуда вылезло и почему. Хотя статистка хорошая, пользовался до этого сбоя несколько лет. Может быть подскажете где копать?

#8 bolk @bolknote.ru04.12.2007, 23:51

DirectoryIndex из .htaccess попробуйте убрать. Или по одному отключать строки в .htaccess.

#9 openid.yandex.ru/users/arthas-1 05.12.2007, 10:00

Выяснился интересный момент. Прежняя версия "Спесты" (1.3F) оказывается уже работает на "Мастерхосте"! А вот последняя версия не работает. Причём достаточно поменять файл counter.php с версии 1.3 на новый с версии 1.4 и ошибка 500 опять вылезает. То есть есть какая-то проблема в файле counter.php. С .htaccess поигрался по всякому, не помогает.

#10 bolk @bolknote.ru05.12.2007, 12:06

Гм. А эта ошибка 500 когда вылезает? Я думал при обращении к любому файлу «Спесты».

#11 openid.yandex.ru/users/arthas-1 05.12.2007, 12:27

Ошибка 500 вылазит при обращении только к двум файлам - counter.php и deny.php. Со всеми остальными файлами проблем никаких. Мне это тоже показалось несколько странным.

#12 bolk @bolknote.ru05.12.2007, 14:30

Интересно как. А попробуйте комментировать строку за строкой в deny.php (файл-т о маленький)? Может удасться выяснить что даёт сбой.

#13 recoder.livejournal.com 06.12.2007, 13:10 ответил bolk.exler.ru

http://www.aboutnico.be/index.…r-beta-sign-up/ ?

#14 bolk @bolknote.ru06.12.2007, 13:38 ответил recoder.livejournal.com

Это, конечно, забавно, но один минус — гугловская статистика значительно (у меня — в пять раз) отстаёт от той, что на сайте. То ли не успевает догружаться, то ли ещё что. На цифры, в принципе, плевать. Но это значит, что она теряет источники перехода и поисковые фразы.

#15 khotty @openid.yandex.ru/users/khotty07.02.2008, 22:03

Удалил все строки из .htaccess
Теперь всё работает.
Вопрос -- нафига они были нужны?

#16 bolk @bolknote.ru11.02.2008, 15:42

Чтобы правила rewrite не применялись и чтобы настройки PHP были определённые.
Ваше имя или адрес блога:

Текст комментария (для гиков: не HTML, а текст!)


Кому бы вы хотели ответить (или кликните на его аватару)


Евгений Степанищев (imbolk@gmail.com)
t=0.049