Sempre que eu vejo "headers" -errors eu verifico se
- Existe algum buffer de saída ativo
- Já existem cabeçalhos gerados
Antes de qualquer local de possível falha e / ou encaminhamento no código pode ocorrer. O último recurso, às vezes, é percorrer os estágios do script assim:
var_dump($runtimeStuffInfo);die('argh!');
e reduza o código de área onde os problemas começam a ocorrer. Você não está dizendo o que seu "script de 8 minutos" está tentando fazer, mas pela minha experiência, a abordagem mais estável seria manter o CLI para esse tipo de coisa:
Idealmente, é possível fazer logon no seu servidor via SSH e executar o script a partir da linha de comando (preferencialmente via nohup, para que você não precise se preocupar se a conexão for interrompida) - dessa forma você também sempre veria onde o seu script para (no caso ainda seria), como você pode registrar cada bit imediatamente, como é ecoado para o console.
Se você não possui permissões para fazer login via SSH, ainda pode tentar exec ('nohup php long_running_job.php > /some/writable/directory/with766/your_job.log')
acionar seu trabalho em uma página PHP (por exemplo, link ) e, em seguida, você analisa a saída do seu cronjob de your_job.log em outra página de script (por exemplo, link ) .
No caso de todos os itens acima não chegarem lá, eu termino o trabalho em pequenos pedaços de trabalho que terminarão bem antes que o problema de timeout possa ocorrer, e então chame-os um após o outro. .