Частые вопросы: различия между версиями

Материал из WiKi - UserSide
Нет описания правки
Строка 50: Строка 50:


'''2. Какие PHP-модули необходимо устанавливать?'''
'''2. Какие PHP-модули необходимо устанавливать?'''
MYSQLI
  SNMP
  SNMP
MYSQL
  SOCKET
  SOCKET
ICONV
  CURL
  CURL
  ICONV
  MBSTRING
ZLIB
XML


'''3. Не работает отправка сообщений электронной почты из UserSide.'''
'''3. Не работает отправка сообщений электронной почты из UserSide.'''

Версия от 18:31, 23 августа 2015

Вопросы по системе

1. В заголовке системы UserSide выводится неверное время.

Система берёт время исключительно с сервера, где установлена, ничего от себя не добавляя. Если время отображается некорректно - значит проблема исключительно с настройками на сервере. Проверяйте настройки временной зоны (в файле php.ini переменная date.timezone), региональные настройки и локали. Также может помочь проверка времени в mysql (в mysql может быть выставлено время отличающееся от серверного).

Команда
select NOW();
покажет текущее время по версии mysql

1.1. MySQL-время отличается от системного.

Для всего MySQL-сервера часовой пояс можно поменять установив в файле конфигурации:

default-time-zone='+03:00'

Полезная статья: [[1]]

1.2. Системное время PHP (cli) отличается от времени MySQL.

Для PHP возможна ситуация, когда используются различные файлы php.ini в работе. Для php-web (через него работает веб-интерфейс САП "UserSide") свой, а для php-cli (через него работает, к примеру запуск скриптов через cron, в т.ч. планировщик САП "UserSide") свой. Зачастую используется один файл, но иногда - нет и тогда настройки в них могут очень различаться. В т.ч. может отличаться часовой пояс, что приводит к неправильным обработкам дат и к сообщениям о различиях во времени.

Как посмотреть какой файл php.ini использует php-web: Настройка - Основная - Разное - Показать PHPinfo() В строке "Loaded Configuration File" будет путь к файлу.

Как посмотреть какой файл php.ini использует php-cli: В директории "userside" нужно создать, например файл test.php с текстом внутри:

<?php
phpinfo();
?>

После чего через консоль сервера зайти в этот каталог и выполнить команду

 php test.php > result.htm

Сформируется файл result.htm с выводом информации PHPinfo. В этом файле также смотрим путь "Loaded Configuration File", находим этот файл и корректируем настройки времени.

При следующем запуске планировщика САП "UserSide" время будет перепроверено и, если всё совпадает, ошибка исчезнет.

2. Какие PHP-модули необходимо устанавливать?

MYSQLI
SNMP
SOCKET
ICONV
CURL
MBSTRING
ZLIB
XML

3. Не работает отправка сообщений электронной почты из UserSide.

Отправка сообщений осуществляется через PHP-фунцию mail(). Для начала необходимо проверить - сам факт отправки сообщений. В разделе "Настройка - Основная - Разное" попробуйте отправить тестовое письмо. Настройку функции mail() необходимо производить в файле php.ini в секции [mail function]. После внесения изменений в файл не забывайте перезапускать веб-сервер. При этом настройка для *nix и windows-систем различаются. В частности - для windows необходимо устанавливать утилиту sendmail (http://www.glob.com.au/sendmail/).Рекомендуется изучить информацию в интернете для своей операционной системы. Статья по настройке mail() для windows: http://www.simplecoding.org/php-mail-pod-windows.html

4. При загрузке файла с картами/иконок и других файлов - эти файлы не открываются.

Скорее всего проблема в том, что файлы загружаются не как бинарные объекты, а как текстовые. Для проверки - сравните размер файла ДО загрузки и ПОСЛЕ. Также попробуйте скачать этот файл обратно на свой компьютер и попытаться его открыть. Для решения этой ситуации - нужно изменить параметр "CharsetRecodeMultipartForms" в конфигурации веб-сервера Apache. Поищите в интернете информацию по оператору "CharsetRecodeMultipartForms"

5. При входе в операторскую часть выскакивает сообщение, что неправильный пароль, хотя пароль верный.

Попробуйте войти с помощью браузера Mozilla Firefox. Если Вы смогли войти - обратите внимание на панель системы, где указано время на сервере. Если время отличается от реального - значит необходимо изменять настройки системной даты (см. ответ на вопрос №1 выше). Пояснение: При входе в операторскую часть пароль и логин оператора сохраняются в cookie. Время жизни cookie создается от времени на машине оператора. Следовательно возможны ситуации, когда время на машине оператора несовпадает с серверной машиной и тогда cookie удаляются сразу же после создания. Но Mozilla Firefox ввиду своих особенностей иначе относится к cookie и возможность входа остаётся.

6. При добавлении дома на карту - карта перескакивает на совершенно другой город/область

При добавлении объектов на карту используется геокодер картографической системы, который по введенному Вами текстовому адресу пытается найти географические координаты этого объекта и переместить туда карту. Это очень удобно. Однако в некоторых случаях - карта перемещается совершенно в другой населённый пункт и даже в другую страну. Почему это происходит? Связано это с тем, что в том месте, куда перемещена карта тоже есть объект, который содержит точно такое же название, какое и Вы ввели и для геокодера это объект является подходящим. Как избавиться от этого? Необходимо настроить иерархию своих адресов. В разделе "Настройка - Адреса" нужно указать данные о своей области, районе в области (при необходимости) и указать в свойствах населённого пункта - к какой области/району он относится. Тогда строка адреса для геокодера будет более обширной и даст более точный результат.

7. В списке оборудования - часть/всё оборудование отображается красным цветом как неактивное. Открываем карточку оборудования - ping выполняется. Оборудование в списке становится зелёным. Через 15 минут опять красное.

Веб-интерфейс системы сам по себе не контролирует какое оборудование активно, а какое нет. Только при активных действиях самого оператора (например - открытие карточки оборудования) система выясняет что с этим устройством - активно оно или нет?. Ознакомьтесь со статьёй "Активность". А вот для того, чтобы постоянно иметь актуальную информацию об оборудовании - необходимо поставить в постоянную работу модули, которые этим занимаются. В частности модуль us_ping. Именно его лучше для этого использовать и вписать в системный cron. Он при работе и выясняет активно ли устройство и тогда в веб-интерфейсе оператор будет всегда видеть актуальную информацию.

8. Как сконвертировать базу данных в UTF-8.

Ранние версии САП "UserSide" имели базу в формате 1251. На данный момент основной упор мы делаем на UTF-8. Разумеется и 1251, поддерживается нормально, но мы рекомендуем постепенно переходить на UTF-8.

Для этого:

1. в файле "main/config/config.php" изменить переменную $zsqlcp на значение:
$zsqlcp     = 'utf8';
2. Сделать бэкап базы данных
3. Сконвертировать базу данных в формат UTF-8. Например - как описано в данной статье: http://artkiev.com/blog/mysql-cp1251-to-utf8.htm

9. Как перенести объекты с одной карты на другую.

Для этого нужно выяснить ID старой карты (откуда переносим) и новой карты (куда переносим). В базе данных - это поля tbl_map.CODENUMBER - посмотрите значения для своих карт.

Далее выполняем в базе данных команды переноса: В них подставьте вместо 0 - ID старой карты, вместо 999 - ID новой карты

UPDATE tbl_coord SET MAPCODE = 999 WHERE MAPCODE = 0;
UPDATE tbl_map_obj SET MAPCODE = 999 WHERE MAPCODE = 0;
UPDATE tbl_optica_house SET MAPCODE = 999 WHERE MAPCODE = 0;
UPDATE tbl_med_house SET MAPCODE = 999 WHERE MAPCODE = 0;

Вопросы по модулям

Общая информация по модулям также указана на странице "Модули"

1. Как запускать perl-модули на компьютерах с OS Windows?

Для этого необходимо установить интерпретатор ActivePerl. Установка быстра и не требует специфических знаний. Дополнительная установка пакетов выполняется через PPM (Perl Package Manager), что устанавливается вместе с интерпретатором.