Eu sou muito novo em usar o comando exec () no php. Eu estou usando isso junto com este script chamado phantomJS ( link ) para executar um processo que cria um pdf das páginas do meu site.
O problema é que, quando executo o exec (), ele geralmente termina de executar o script em cerca de 3 a 5 segundos. No entanto, por vezes, o carregamento continuaria para sempre, 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 o uso de minha 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? Eu já defini um set_time_limit (60) para matar todos os processos em execução, mas ele permanece alto. Eu verifiquei outras causas prováveis, mas tenho certeza que tem a ver com este processo exec.
FYI, o exec () dispara 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;
}
}
Obrigado antecipadamente