Obrigado pela atenção amigo.
É muito curioso o erro. Acontece geralmente em módulos do tipo formulário. Teve casos em que alguns que estavam travando ao gerar o fonte, voltaram a gerar novamente depois de várias tentativas logo após excluir os dados de navegação (uso google chrome). Outros porém continuam dando o erro e não importa o que você tente fazer vai continuar falhando ao gerar o fonte. O módulo é um form normal, sem nenhuma adição de código personalizado.
O problema com certeza é no PHP 8.1, disso eu tenho certeza. Quando voltei para o PHP 7.3, ou 7.4 funcionou normalmente, sem nenhum problema. Agora no PHP 8.1 acontece o erro.
Ao inspecionar a página no SC que gera o fonte, quando dá o erro encontrei a seguinte menssagem
ob_end_flush(): Failed to delete and flush buffer. No buffer to delete or flush | Script: /var/www/html/scriptcase912023/devel/class/generator/gerador.php linha: 46
Explicação do chatGPT
O erro relacionado à função ob_end_flush() no PHP 8.1 normalmente acontece porque o buffer de saída já foi encerrado ou não existe no momento em que ob_end_flush() é chamado .
Explicação técnica:
- A função ob_end_flush() só funciona se houver um buffer de saída ativo.
- Se nenhum ob_start() tiver sido chamado anteriormente (ou se todos os buffers já tiverem sido encerrados), essa função vai gerar esse erro.
- Isso pode acontecer em frameworks, bibliotecas ou CMSs (como o Scriptcase), especialmente se o código assume que sempre há um buffer iniciado.
O que mudou no PHP 8.1?
No PHP 8.1, algumas mensagens de erro que antes eram warnings silenciosos agora são fatal errors ou warnings mais verbosos, especialmente sobre manipulação de buffers.
Como evitar:
Antes de chamar ob_end_flush(), verifique se há um buffer ativo:
if (ob_get_level() > 0) {
ob_end_flush();
}