MongoDB\Driver\ServerDescription::getLastUpdateTime
Возвращает время последнего обновления сервера в микросекундах.
Замечание: Возвращаемое значение представляет собой монотонную метку времени, которая начинается в произвольной точке. Как таковое, оно подходит только для сравнения с другими возвращаемыми значениями из функции MongoDB\Driver\ServerDescription::getLastUpdateTime() .
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Возвращает время последнего обновления сервера в микросекундах.
Ошибки
- При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException .
User Contributed Notes
There are no user contributed notes for this page.
- MongoDB\Driver\ServerDescription
- getHelloResponse
- getHost
- getLastUpdateTime
- getPort
- getRoundTripTime
- getType
- Copyright © 2001-2023 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Форум
Пытаюсь понять в чем дело.
В php.ini устанавливаю date.timezone = «Europe/Moscow», но время отстает на час.
Также обратил внимание, что Apache возвращает заголовки даты в GMT и время отстает на час от реального времени по Гринвичу.
То же касается и остальных модулей (Nginx и MySQL).
Как это исправить?ОС: Windows 7×64 Ultimate
OpenServer: 5.2.5
HTTP: Apache-PHP-7-x64+Nginx-1.10
PHP: PHP-7-x64
MySQL: MySQL-5.7-x64Максим Сообщения: 6022 Зарегистрирован: 11 дек 2010, 20:29
Re: Время сервера в GMT отстает на час
Отстает на час от чего, от московского? Или от вашего на компьютере?
sysger Сообщения: 3 Зарегистрирован: 08 фев 2017, 00:40Re: Время сервера в GMT отстает на час
Отстает на час от московского и соответственно от времени на моем компьютере.
Точно также время в заголовках веб-сервера (Apache, Nginx), которое указанно в GMT (Среднее время по Гринвичу) также отстает на час.
При этом если я в php.ini устанавливаю:
date.timezone = «Etc/GMT-4» или date.timezone = «Asia/Dubai»
php выводит время правильно, но в заголовках Apache и Nginx, время в GMT все равно отсает на час от реального.
Думаю как раз по причине неправильного определения времени веб-сервером приходится устанавливать время на час больше от реального, чтобы получить корректное значение для php.
Знать бы какой модуль отвечает за определение времени веб-сервером в GMT и исправить его.GET / HTTP/1.1
Host: site.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=mrk1kl8m2448q2kofpubl50g51
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1HTTP/1.1 200 OK
Date: Wed, 08 Feb 2017 18:37:33 GMT ( Вот-тут ошибка! Потому что реальное время 19:37:33 GMT )
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=60
Vary: Accept-Encoding
Server: Apache
Cache-Control: public
Content-Encoding: gzipPHP блог
Время на сервере с серверов имен (должен быть указан правильно часовой пояс) функция операционной системы:
Можете менять часовой пояс либо через ISPmanager (Настройки сервера — Параметры сервера)
В ISPmanager, можно воспользоваться командой ntpdate pool.ntp.org ( ntpdate -d ntp.ru ) для синхронизации часов или настроить демон ntpd в Планировщик (cron)/usr/sbin/ntpdate 0.rhel.pool.ntp.org europe.pool.ntp.org
Добавляем в автозапуск:
/sbin/chkconfig ntpd on
Обновление даты и времени в php Mysql
Есть страница. При заходе на эту страницу, в базу записывается информация о браузере юзера, его ip-адрес, дата и время захода. Как сделать так, что если один и тот же юзер заходит на страницу под тем же ip-адресом, то обновлялось только время захода, но при этом не создавалась новая строка?
Отслеживать
2,332 6 6 золотых знаков 21 21 серебряный знак 34 34 бронзовых знака
задан 4 мар 2016 в 14:53
Игорь Болдырев Игорь Болдырев
45 7 7 бронзовых знаков
существует такая штука в mysql как upsert
4 мар 2016 в 15:12
Этот вопрос затрагивает слишком много тем, что бы однозначно ответить
4 мар 2016 в 15:263 ответа 3
Сортировка: Сброс на вариант по умолчанию
По полям, однозначно идентифицирующим пользователя и ip делаете в таблице уникальный индекс, что бы в таблицу было невозможно вставить две записи касающиеся одной связки пользователь-ip. После этого вставку новой записи в таблицу пишете следующим образом:
insert into tableX(ip,user_id,a,b,c,date) values('10.0.0.1',100,'x','y','z',now()) on duplicate key update date=now();Данный запрос либо вставит новую запись с теми данными что в values, либо, если такая запись существует, выполнит update того, что указано в on duplicate key
Уникальный индекс на таблице создается примерно так:
create unique index index_name on table_name(ip, user_id);Так как вам нужна еще и информация о браузере, а пользователь с одного компьютера может воспользоваться разными браузерами (и кстати, иногда один и тот же браузер отдает немного разные идентификационные строки), то в таблице надо будет обеспечивать уникальность по полям ip, user_id, браузер и возможно еще каким то. Если это сложно, т.к. приложение руководствуется сложной логикой определения «той» записи, можно попытаться выполнить update даты, если было изменено 0 строк (см. функцию на подобии mysql_affected_rows) — то выполнить insert.
