Обновить
После публикации ниже я удалил redis из уравнения, выполнив аналогичную операцию с $_SESSION
и наращивание в PHP изначально. То же самое происходит — но только когда сайт просматривается в Chrome. В Firefox и Safari целое число увеличивается правильно, а в Chrome операция увеличения происходит дважды.
Оригинальный вопрос:
Пробуем Redis используя predis
с PHP (7.2) локально. Локальный сервер — Laravel Valet.
Redis устанавливается с помощью Homebrew, Predis устанавливается с помощью Composer. Вот мой весь index.php
файл:
<?php
require 'vendor/autoload.php';
$client = new Predis\Client();
// $client->set('value', '10'); // uncomment to reset
$value = $client->incr('value');
print_r($value);
Обновите браузер на этой странице, чтобы увеличить значение.
Ожидаемый результат будет: 11, 12, 13, 14, 15, 16,… и т. Д.
Вместо этого я получаю 11, 12, 14, 16, 18, 20, 22,… и т. Д.
Значение увеличивается на 2, как будто команда увеличения выполняется дважды; Зачем?
Не уверен, как решить эту проблему.
Оказывается, Chrome отправляет два запроса на страницу, один из которых должен получить значок. Если он не получает значок, он будет продолжать запрашивать его.
Я исправил это в этом случае, добавив значок favicon на сервер, который заставил все работать как положено.
Других решений пока нет …