Смекни!
smekni.com

Чат, его установка и настройка (стр. 2 из 7)

Нужно заменить константу в выражении цикла $i<150 нужным числом.

Возможны проблемы при установке и некорректная работа чата. Если чат некорректно работает, например, нельзя:

● войти;

● отправить сообщение;

● изменить цветовую схему,

убедитесь, что в конфигурационном файле php.ini включена директива register_globals=On

Если же изменить файл php.ini невозможно, то нужно добавить следующие строки в начало файла incl/hdr.inc:

ini_set('error_reporting',7);

import_request_variabies("GPC");

ini_set('error_reporting',7);import_request_variabies("GPC");

По умолчанию для отображения даты и времени чат настроен на GMT (UTC). Для настройки чата на нужный часовой пояс, изменяют 0 в первой строке файла incl/hdr.inc нужным значением (+/- число):

$datetime=gmdate('M j, G:i',time()+0*3600);

$datetime=gmdate('M j, G:i',time()+3*3600);

По умолчанию пароль для очистки чата - 12345. Для изменения пароля редактируют файл clear.php (строка 7):

if (isset($pass)&&$pass=="12345") . . .

Чат построен по модульной структуре. Поэтому можно легко перевести его на другой язык, вставить печать списка online-пользователей в любую страницу сайта и многое другое.

Если вы хотите перевести чат на какой-нибудь язык, скопируйте файл lang/lang-ru.inc в файл lang/lang-XX.inc и переведите сообщения на нужный вам язык.

Тут же можно изменить кодировку сообщений.

Возможно, вы хотите просмотреть полный протокол чата без вызова самого чата. Откройте файл data/log — в нем вы найдете, например:

1053076834:|:Мау16, 9:20:|:evg:|:wl:|: <b></b>

1053076782:|:Мау16, 9:19:|:evg:|:w2:|:Как дела? <img

src="pics/m5.gif" width="15" height="15" hspace="2" alt=" ">

1053076582:|:May16, 9:16:|:evg:|:w2:|:Привет!

1053076536:|:May 16, 9:15:|:denis:|:wl:I:Hello all

Можно модифицировать сценарий, добавив в него запись в протокол IP-адреса.

Можно отображать список online-пользователей на любой странице вашего сайта. Для этого подключите файл user.inc к вашей странице:

<?php

$pth='xxx';

include "$pth/incl/users.inc";

?>

где 'xxx' — это относительный путь к чату.

После этого вызовите функцию whos_online(), передав ей строку-разделитель пользователей:

<?php

whos_online('<br>');

?>

Пример файла index.php с использованием функции whos_online() приведен в листиге.

Листинг. Вывод списка пользователей

<?php $pth='friends/simple-chat';

include "$pth/incl/users.inc";

?>

<html><head>

<title>Основнаястраница </title>

</head><body>

<!-- списоквстроку -->

<div style="background-color: #cccccc">

<?php

whos_online(' ');

?>

</div><br>

<!-- список - в колонку -->

<div style="background-color:#aaaaaa">

<?php whos_online('<br>');

?>

</div><br>

</body>

</html>


2. УСТАНОВКА, НАСТРОЙКА И РАБОТА ПРОГРАММЫ CHAT.PHP.SPB.RU

2.1 КРАТКОЕ ОПИСАНИЕ ВОЗМОЖНОСТЕЙ ЧАТА

Существуют разные способы создания чатов (с непрерывной загрузкой). Самый неправильный состоит в том, что на каждого юзера запускается PHP-скрипт, который держит коннект. Из-за постоянно висящего в памяти PHP-скрипта, так же в памяти находится и копия Apache. Эта копия и исполняет программу PHP. Проблема в том, что при таком подходе очень быстро расходуется память.

Суть этого чата, как утверждает автор, показать правильное направление: «Разумеется, есть другие способы написания чата. Я лишь не сделал "не правильно"».

Чат состоит из 2х частей:

● PHP-скриптов;

● чат-сервера (программы для серверной части). Эта программа держит коннекты и отсылает в них сообщения, как только они приходят. Все остальное - делают скрипты на PHP.

Веб-каталог может быть как корнем сервера, так и в любом его подкаталоге (это легко настроить в _dima.php - $wwp). Каталог с .ехе программой (чат-сервером), разумеется, не должен быть доступен из Интернета, через какой-либо URL.

Кроме того, по-умолчанию, оба упомянутых каталога (две части) должны находиться на одном уровне. Т.е. чтобы попасть из одного в другой надо было только выйти ".." выше и войти в другой "www" или "daemon". Это тоже легко изменить, всего лишь отредактировав переменные, которые задают эти пути.

На сайте http://php.spb.ru/chat/ можно найти исходники чата и подробную документацию с описанием всех возможностей:

● Чат работает в Windows/FreeBSD/Linux в PHP 4-й версии (любой).

● Чат не использует MySQL.

MySQL не нужна, но вас есть выбор, где хранить базу юзеров: на диске (по-умолчанию) или в базе. Поддержка MySQL в чате есть. Именно поддержка, т.к. по умолчанию чат работает и абсолютно не нуждается в MySQL. Имеется возможность интегрировать чат с любым форумом (vBulletin.com, phpBB.com, phoru.org), phpNuke и любой другой программой, которая хранит свои регистрационные данные в MySQL базе. Чат можно настроить на любую по структуре внешнюю базу данных от любой программы. Смотрите параметр $export_db в _dima.php.

● Чат рассчитан на большие нагрузки, работает стабильно и быстро при нагрузках до 1000 человек одновременно.

● Чат защищен от флуда. Это решается установкой отдельной утилиты _dima_noflood.php с php.spb.ru.

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

● Легко добавить новые поля к регистрационной форме - все это можно проделать мышкой прямо из браузера. Каждое поле анкеты имеет множество параметров для защиты от ввода некорректной информации пользователями.

● FAQ и другие документы к чату постоянно обновляются, чтобы помочь при установке и устранении неполадок. В форуме разработчиков чата можно получить ответ на возникший вопрос.

Это далеко не все возможности чата. FAQ по чату находится в файле http://php.spb.ru/chat/faq.html. Адрес форума для вопросов: http://www.phpclub.net/talk/forumdisplay.php?s=&forumid=30. Онлайн вопросы можно задать в чате PHP-клуба (как туда войти, описано на главной странице http://php.spb.ru) либо в чате разработчика программы - http://chat.php.spb.ru.


2.2 УСТАНОВКА ЧАТА ПОД WINDOWS

Существует 3 способа установки чата CHAT.PHP.SPB.RUпод Windows:

● полностью автоматическая установка и автоматическая настройка;

● автоматическая установка с последующим заданием нескольких параметров (надо отредактировать один файл);

● ручная установка и ручная подробная настройка.

Вариант 2 нужен, если вариант 1 не сработает. Необходимость в ручной установке описана ниже.

2.3 ПОЛНОСТЬЮ АВТОМАТИЧЕСКАЯ УСТАНОВКА + АВТОНАСТРОЙКА ПОД WINDOWS

Зайдите на http://php.spb.ru/chat/ и скачайте последнюю версию чата: файл chat-php-spb-ru-04_60.exe (или другой, последней версии), Запустите этот файл. Это самораспаковывающийся архив. Он захочет себя распаковать в "c:&bsol;www". Все, что нужно сделать после запуска, нажать кнопку ИЗВЛЕЧЬ и дождаться окончания распаковки. Появится каталог C:&bsol;WWW&bsol;CHAT-PHP-SPB-RU-04, потом автоматически запустятся 2 черных окошка (закрывать нельзя), далее откроется Internet Explorer на адресе "http://127.0.0.1", где будет загружена страница чата. Чат готов к работе: вводите ник и нажимайте "Войти в чат".

Если автонастройка прошла неудачно, то переходите к автоматической установке с последующим заданием нескольких параметров.


2.4. АВТОМАТИЧЕСКАЯ УСТАНОВКА И РУЧНАЯ НАСТРОЙКА ПОД WINDOWS

Эту установку нужно выполнять, если только автоматическая установка не удалась: черные окна не появились, Internet Explorer не открылся, на адресе 127.0.0.1 ничего нет:

● Запустите файл chat-php-spb-ru-04_60.exe (или другой, последней, версии). Нажмите кнопку ИЗВЛЕЧЬ и дождаться окончания распаковки. Появится каталог C:&bsol;WWW&bsol;CHAT-PHP-SPB-RU-04. Можно распаковать и в другие каталоги:

● Откройте файл www/_dima.php. Найдите раздел "Название вашей операционной системы" и строку "$os=0". Впишите вместо нуля цифру 3, если у вас Windows 95/98/ME. Впишите вместо нуля цифру 2, если у вас Windows NT/XP/2000.

● Рядом найдите строку "$rand_password=.." и "$cookie_pass=.." и впишите в обе переменных две разных строки из случайных символов.

● Чтобы сделать себя админом, впишите в $admfirst (файл _dima.php) свой будущий логин в чате, а как только чат заработает - зарегистрируйтесь под этим админом. Так вы станете главным админом чата. Других админов добавляйте в "админовке".

● Нажмите ПУСК->ВЫПОЛНИТЬ и запустите "c:&bsol;www&bsol;chat-php-spb-ru-04&bsol;apache&bsol;apache.exe". Убедитесь, что после этого запускается Apache и через 5-10 секунд продолжает работать в черном окошке. Если окошко закрывается или в заголовке пишут "Сеанс завершен" или "Программа завершена", то Apache не запустился. Если сервер Apache не запустился, то придется его настроить и приступить к дальнейшей настройки чата.

● Нажмите ПУСК->ВЫПОЛНИТЬ и запустите "c:&bsol;www&bsol;chat-php-spb-ru-04&bsol;run_this.bat". Аналогично убедитесь, что программа работает в черном окошке.

● Откройте браузер, отключите прокси сервер и перейдите по адресу "http://127.0.0.1/". Если вы не увидите работающий чат, то выполняйте данную главу до тех пор, пока не заработает. Либо сотрите чат и запомните, что установка чата не рассчитана на …

2.5 РУЧНАЯ УСТАНОВКА И РУЧНАЯ НАСТРОЙКА ПОД WINDOWS

Ручная установка нужна тогда, если у Вас уже есть установленный web-сервер Apache или нужно:

● поставить чат не в C:&bsol;www, а куда угодно;

● изменить адрес чата со "127.0.0.1" на нужный Вам (помните, на адрес 127.0.0.1 возможен доступ только с вашего компьютера);

● установить 2 и более чатов на одном компьютере.

Распакуйте архив чата в любой каталог. Сотрите из распакованного архива Apache, если он у Вас уже установлен.

Настроенный Apache включен в архив для уменьшения количества криков: "Ничего не работает!" Если у Вас Apache на компьютере еще не установлен, то оставьте все как есть.

2.5.1 ВЫБОР ХОСТА, НА КОТОРОМ БУДЕТ ЗАПУЩЕН ЧАТ

Подумайте, на каком URL будет работать ваш веб-сервер с PHP-скриптами. Запишите URL будущего чата на бумажку и далее все настройки будет исходить от этого URL.

Допустим, есть сервер www.prowics-chat.ru, на который можно попасть не только по этому слову, но и без "www" или вовсе по Ip-адресу. Задача "подумать о хосте" состоит в том, что нужно выбрать один из вариантов. Любой, но один. HOST берется из URL Вашего чата достаточно простым преобразованием. Пример: