Eu sou muito novo no uso do comando exec() em php. Estou usando junto com este script chamado phantomJS (http://phantomjs.org/) para executar um processo que cria um pdf das páginas do meu site.
O problema é que quando executo exec(), ele geralmente termina a execução do script em cerca de 3 a 5 segundos. Porém às vezes o carregamento durava indefinidamente, não terminando por mais de 5 minutos. Nesses casos, apenas atualizo a página (o script é executado no carregamento da página). Depois de fazer isso, verifico meu uso de memória no CPanel e o uso de memória permanece alto, como se o processo ainda estivesse em execução.
O que poderia estar causando isso? Já defini um set_time_limit(60) para eliminar qualquer processo de execução excessivamente longo, mas ele permanece alto. Verifiquei outras causas prováveis, mas tenho certeza de que tem a ver com esse processo executivo.
Para sua informação, o exec() aciona algumas consultas mysql.
class Challenge_mealplanner_print extends Challenge_mealplanner {
private function generate_personal_details_string($this_page_round_number, $week_number){
return get_current_user_id().'-'.$this_page_round_number.'-'.$week_number;
}
function generate_personal_mealplanner_pdf($this_page_round_number, $week_number){
$phantomjs_loc = escapeshellarg(realpath('').'/path/to/some/script');
$mealplanner_gen_script_loc = escapeshellarg(realpath('').'/path/to/some/script');
$mealplanner_print_page_uri = escapeshellarg('/path/to/some/script'.$this->generate_personal_details_string($this_page_round_number, $week_number));
$pdf_file_name = escapeshellarg('Mealplan-'.$this_page_round_number.'-'.$week_number.'.pdf');
unset($this_page_round_number, $week_number);
$result = exec( $phantomjs_loc.' '.$mealplanner_gen_script_loc.' '.$mealplanner_print_page_uri.' '.$pdf_file_name.' A4 2>&1');
return $result;
}
}
desde já, obrigado