SOLUÇÃO DEFINITIVA DE TIMEOUT: CORRIGINDO ‘CONTEXT CANCELED’ EM CYBERPANEL, Cloudflare (LITESPEED/DOCKER)

PROBLEMA

Ocorre o erro Incoming request ended abruptly: context canceled (ou 503/504 Gateway Timeout) no log do Docker ou do LiteSpeed/CyberPanel, mesmo após aumentar o max_execution_time do PHP.

Isso acontece porque um componente de proxy ou o próprio LiteSpeed (que age como proxy para o PHP) está encerrando a conexão antes que o script PHP possa terminar, desconsiderando o limite alto configurado no php.ini.


SOLUÇÃO

A solução consiste em garantir que o PHP tenha o tempo de execução e encerramento correto e, crucialmente, que o LiteSpeed (em seu Virtual Host) seja instruído a esperar pelo PHP pelo mesmo período.

PASSO 1: Ajuste no php.ini (Configuração Avançada)

  1. Acesse o CyberPanel: PHP $\rightarrow$ Edit PHP Configs $\rightarrow$ Advanced.
  2. Selecione a versão do PHP do seu site (Ex: PHP 8.3).
  3. Garanta que os valores de max_execution_time e max_input_time sejam definidos para o valor desejado (ex: 300).
  4. Adicione a diretiva crucial request_terminate_timeout com um valor ligeiramente maior.

Configurações a serem aplicadas no php.ini:

Ini, TOML

; Tempo máximo que o script pode rodar
max_execution_time = 300

; Tempo máximo de leitura da requisição (input)
max_input_time = 300

; Tempo máximo que o PHP-FPM deve esperar antes de encerrar o processo
request_terminate_timeout = 301
  1. Salve as alterações e Reinicie o PHP (PHP $\rightarrow$ Restart PHP).

PASSO 2: Ajuste no LiteSpeed Virtual Host (SSH)

O context canceled é geralmente resolvido ao instruir o LiteSpeed (que está na frente) a esperar mais tempo pela Aplicação Externa (o PHP).

  1. Acesse o servidor via SSH.
  2. Edite o arquivo de configuração do seu Virtual Host (VH), que está no caminho:Bashsudo nano /usr/local/lsws/conf/vhosts/SEU_DOMINIO/vhconf.conf (Substitua SEU_DOMINIO pelo nome real do seu host virtual.)
  3. Localize a seção extprocessor (no nosso caso, era merca4425) e ajuste as diretivas de timeout para um valor alto (ex: 600 segundos), garantindo que sejam maiores que o limite do PHP (301s).

Configurações a serem aplicadas no vhconf.conf:

Snippet de código

extprocessor merca4425 {
  type                    lsapi
  # ... (outras configurações)
  
  # Tempo máximo para iniciar a conexão com o PHP
  initTimeout             600
  
  # Tempo que o LiteSpeed espera por uma nova tentativa de conexão (CRÍTICO)
  retryTimeout            600 
  
  # ... (outras configurações)
}
  1. Salve o arquivo e Reinicie o OpenLiteSpeed:Bashsudo /usr/local/lsws/bin/lswsctrl restart

RESULTADO

Com estas configurações sincronizadas em todas as camadas (PHP e LiteSpeed), a mensagem de erro Incoming request ended abruptly: context canceled é eliminada, e os scripts de longa execução podem ser concluídos com sucesso dentro do novo limite de tempo definido.

Compartilha para um amigo:

Facebook
Twitter
WhatsApp
LinkedIn

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Recomendado

Postagens Relacionadas