2017-06-15 5 views
0

salut je ne sais pas comment sortir de cette situation j'essaie d'augmenter le max_execution_time à 5000 pour par exemple ini_set ('max_execution_time' 5000). il montre que le paramètre execution_time est défini sur 5000 sur echo ini_get ('max_execution_time') mais ne fonctionne pas car la connexion avec le serveur se ferme au début de 5000 secondes. J'essaie d'extraire XML avec l'API, puis de convertir ces données dans un tableau et ce tableau est ensuite utilisé dans une boucle pour insérer des valeurs de tableau dans ma base de données. J'utilise codeignitor s'il vous plaît voir le code ci-dessous.max_execution_time ne fonctionne pas mais sur echo ini_get ('max_execution_time') il montre le temps que je donne

Mon contrôleur

public function get_chassis_badge_detail() 
    { 
     $this->load->model('md_api_test','md_api'); 
     if($this->md_api->get_chassis_badge_detail()) 
     { 
      $this->load->view('api_test',['car_detail' => '']); 
     } 
    } 

Mon modèle:

public function get_chassis_badge_detail() 
{ 
    //// for kuzov insertion in to database from stats auction 

    $this->load->library('auction_api'); 
    $query = "select count(distinct kuzov) from stats"; 
    $total_kuzov = $this->auction_api->aj_get_clean($query); 
    $cycle_end = round($total_kuzov[0]['TAG0']/250)+1; 

    $query = "select kuzov,model_id from stats group by kuzov order by model_id ASC"; 

    $arr = ''; 
    for($k=0; $k<($cycle_end); $k++) 
    { 
     $query .= " limit ".($k*250).",250"; 
     $arr[] = $this->auction_api->aj_get_clean($query); 
     $query = "select kuzov,model_id from stats group by kuzov order by model_id ASC"; 

     if (isset($arr[$k][0])) 
     { 
      for($b=0; $b<count($arr[$k]); $b++) 
      { 
       $trim_val=trim($arr[$k][$b]['KUZOV']); 
       if(!empty($trim_val)) 
       { 
        $this->db->query("INSERT INTO `dd_chassis_badge`(`model_id`, `badge`) VALUES ('".$this->db->escape_str($arr[$k][$b]['MODEL_ID'])."','".$this->db->escape_str($arr[$k][$b]['KUZOV'])."');"); 
       } 
      } 
     } 
     else 
     { 
      unset($arr[$k]); 
      break; 
     } 
    } 

    return true; 
} 
+0

Où définissez-vous max_execution_time? Est-ce dans le script ou dans le fichier php_ini? – bencarter78

+0

Vous devrez peut-être également consulter le paramètre de délai d'Apache. La valeur de délai d'Apache dans le fichier httpd.conf. https://stackoverflow.com/questions/9629566/how-to-increase-apache-timeout-directive-in-htaccess – hamboy75

+0

J'utilise en haut de mon script @ bencarter78 –

Répondre

0

Y at-il un changement que vous obtenez une erreur (et donc le serveur s'arrête plus tôt), mais ne pas le voir? Avez-vous un fichier php.ini pour vous montrer les erreurs PHP?

+0

oui le fichier php.ini est configuré pour afficher une erreur. le script semble bien fonctionner jusqu'à 19 cycles de boucle et ne jette aucune erreur si elle est augmentée par rapport aux temps morts. le tableau que j'essaie d'insérer dans ma base de données se compose de 19000 + enregistrements. –

+0

Hmmm ... jetez un oeil à ceci: https://stackoverflow.com/a/1590644/7399485. Cela pourrait-il être le cas? –

+0

je l'ai déjà vérifié. il ne fonctionne pas en mode sans échec. –