PHP exec () fazendo com que o uso de memória permaneça alto?

1

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

    
por Zach 27.10.2014 / 02:39

0 respostas