PHP два раза выполняет Redis и Memcached скрипты

97
30 июля 2019, 20:40

Простейший код:

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->incr("views");

Когда его запускаю через Php консоль(php -a), то все отлично.

Когда запускаю через http, то инкремент на 2 получаю. Наверное пхп несколько раз выполняет код? Помогите куда копать? Психанул и попробовал Memcached - получаю тоже самое.

конфиг nginx если нужно

location / {
            try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
Answer 1

Этот вопрос задавался много раз, но лень искать.

ЧПУ на сайте надо реализовывать с умом. Если РНР код служит обработчиком 404 ошибки, то перед тем как выполнять любые действия, надо проверять валидность запроса. И если запрос некорректный - например, к несуществующему файлу, то никаких действий выполнять не следует, а надо быстро завершить скрипт, вернув 404 статус.

READ ALSO
Yii2 не работает ajax validation

Yii2 не работает ajax validation

Не могу разобраться с валидацией формы при отправке ajaxУ меня есть виджет с формой, во вьюхе которого находится ActiveForm

112
Реализация поиска пользователей

Реализация поиска пользователей

Есть API которое выдает список пользователей с N количеством параметров у пользователя(имя, телефон

112
Что делать с текстами, в которых присутвуют пустые строки?

Что делать с текстами, в которых присутвуют пустые строки?

Всем привет! Заголовок запроса может быть не понятен, но я сейчас попробую объяснитьНа сервере есть тексты, как эти:

129