2016-10-16 6 views
-2

файл журнала ошибок, который появляется с этой ошибкой:Недействительный аргумент для Еогеасп() в

Error 17 Окт, 2016 1:44 AM - Недействительный аргумент для Еогеасп() в/главная/ххххх/public_html/корень/контроллеры/пост/admin.php на линии 391

private function curlMultiRequest($urls, $options = array()) { 
     $ch = array(); 
     $results = array(); 
     $mh = curl_multi_init(); 
     foreach($urls as $key => $val) {  < -------------391 row 
      $ch[$key] = curl_init(); 
      if ($options) { 
       curl_setopt_array($ch[$key], $options); 
      } 
      curl_setopt($ch[$key], CURLOPT_URL, $val); 
      curl_setopt($ch[$key], CURLOPT_HEADER, 0); 
      curl_setopt($ch[$key], CURLOPT_RETURNTRANSFER, TRUE); 
      curl_multi_add_handle($mh, $ch[$key]); 
     } 
+0

По крайней мере, показать нам как вы называете эту функцию, так как это ошибка. Вы, очевидно, не передаете массив как параметр $ urls в вызове функции – RiggsFolly

ответ

0

$urls должен быть массив, так что вы могли бы сделать это:

... 
if(is_array($urls)){ 
    foreach($urls as $key => $val){ 
     ... 
    } 
}else{ 
    // handle unexpected state 
} 
... 

или

private function curlMultiRequest(array $urls, $options = array()) { ... } 
+0

Вы можете написать все, чтобы полностью изменить, что делать, а затем просто заменить – Anagashi

+0

На самом деле это было бы справедливо, если бы был принят пустой массив. Он просто ничего не сделал бы внутри 'foreach()' в этом случае – RiggsFolly

+0

@RiggsFolly right -> edit – Kazz

0

Поскольку $ url передается не массивом или пуст? Попробуйте сделать это, чтобы увидеть, что передается в функцию:

print_r($url);exit; 
+0

Вы можете написать все, чтобы полностью изменить, что делать, а затем просто заменить – Anagashi

-1

вы должны проверить, если аргумент является массивом или не и вы можете принять советую сначала в этой ситуации Invalid argument supplied for foreach()

Смежные вопросы