Cron и Curl Удалить или закрыть пользователя сеанса

привет, я реализовал систему cron для ubuntu; который по причинам, по которым мне нужно запускать каждые 30 секунд, мне пришлось внести некоторые корректировки в сочетании с PHP для достижения необходимой области.

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

Файл CRON выполнен:

#!/bin/sh
cd /opt/lampp/htdocs/control/cronos/
php cron.php

Обработчик CRON PHP:

<?php
$j = 0;
while ($j <= 1) {
    $url    = 'http://127.0.0.1/index.php';
    $fields = array(
        'idprocess' => 'p-cronjobs',
        'idform'    => 'p-cronjobs',
    );
    $postvars         = http_build_query($fields);
    $COOKIE_FILE_PATH = "/tmp/cookiescron.txt";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
    curl_setopt($ch, CURLOPT_TIMEOUT, 2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
    curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
    curl_exec($ch);
    curl_close($ch);
    $j++;
    sleep(25);
}
?>

Системный обработчик для PHP Manager Cron Execution:

switch ($idform) {
    case "p-cronjobs":
            $stmtpre      = "SELECT TListIdCJ FROM ListCronJobs WHERE TListCJST=1 AND TListCJSTR=0;";
            $data         = $this->DBMANAGER->BDquery($stmtpre, DB_N_LIST);
            $result_exist = $data->num_rows;

            if ($result_exist != 0) {
                while ($row = mysqli_fetch_assoc($data)) {

                    $fields = array(
                        'idprocess' => $row['TListIdCJ'],
                        'idform'    => 'p-runcronjobs',
                    );
                    $postvars = http_build_query($fields);
                    $ch       = curl_init();
                    curl_setopt($ch, CURLOPT_URL, LOCALURL);
                    curl_setopt($ch, CURLOPT_POST, count($fields));
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
                    curl_setopt($ch, CURLOPT_TIMEOUT, 2);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
                    curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
                    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
                    curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 10);
                    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
                    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
                    curl_exec($ch);
                    curl_close($ch);
                }
            }
            break;
}

Как я могу избежать проблем с сеансом cron и множественных запросов, сделанных с помощью curl?

Связанная с проблемой: stackoverflow.com/questions/7828975/…

user9632001 26.05.2018 19:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
516
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема может быть связана с использованием:

session_set_cookie_params(time() + 3600);
or
setcookie('name', 'id', time()+3600, "/");

Уточнение по сборке мусора PHP

нужно обойти его, чтобы решить и использовать после чтения данных из Session, и если у вас есть доступ к php.ini, вы можете установить срок действия на 0, чтобы предотвратить сеанс уничтожения сборщика мусора.

Другие вопросы по теме