executar um script php em centos e tempo e timeout

1

Eu quero rodar um script php em centos ( /usr/bin/php file.php ), e demora muito tempo para executar, e no meio da execução ele para de rodar, e não me dá nenhum erro. e tenho certeza que não há absolutamente nenhum erro no meu código php (eu testei isso de várias maneiras), eu acho que é a questão do tempo de execução.
minha pergunta é:

  • é possível que seja um erro de tempo limite do meu servidor que impede a execução do script?
  • se sim, como posso configurar o servidor para fornecer um erro de tempo limite em um tempo maior?

Obrigado.

    
por Alireza Fallah 03.11.2013 / 11:02

2 respostas

2

Qualquer script PHP executado a partir da linha de comando ou de um script de shell, cron job, etc. não possui um tempo limite.

Você não pode definir deliberadamente um tempo máximo de execução quando invoca o PHP a partir da CLI. Você pode chamar set_time_limit(n) , mas isso não tem efeito.

Por exemplo, se o max_execution_time afetou a CLI, o script a seguir não deve ser impresso como "concluído", mas sim:

<?php

set_time_limit(5);
print ini_get('max_execution_time') . "\n";
sleep(10);
print "done.\n";

É possível que você tenha um erro que não está sendo relatado. Certifique-se de ativar o relatório de erros completo:

error_reporting(E_ALL);
    
por 03.11.2013 / 11:57
0

Se tiver certeza de que não há erro no seu script e você o estiver executando a partir da linha de comando, aqui estão algumas coisas que você pode fazer:

  1. Teste sua teoria sobre tempo limite: escreva um script fictício que não faça nada por muito tempo (como um loop aninhado), ele pára antes de terminar?
  2. Faça o perfil dos requisitos de memória do seu código: link .
  3. Tente executar o mesmo script: embora seja improvável, pode haver um problema com o ambiente.

Não há motivo para você não conseguir executar um script se não houver erros e os recursos necessários estiverem disponíveis.

    
por 26.04.2017 / 10:42

Tags