2016-05-25 2 views
0

Я использую file_get_contents, чтобы получить json из URL-адресов. Тот же URL-адрес работает иногда, а иногда и нет. Когда это не так, file_get_contents не возвращает никакой ошибки и просто останавливает весь скрипт. Это слишком запутанно.PHP file_get_contents не возвращает ошибку, если она должна быть

ответ

0

Что вы получаете? Это предупреждение или Fatal Error?

если это предупреждение, пожалуйста, добавьте @ в Befor file_get_contents как: @file_get_contents , если другие, пожалуйста, проверьте данные, прежде чем выполнить другой процесс

$jsondata [email protected]_get_contents('YOur URl'); 
if($jsondata){ 
    // Process your code 
}else{ 
    //do nothing 
} 
+0

он не возвращает ошибку илипредупреждение. скрипт просто останавливается после вызова file_get_contents. –

+2

Неплохая практика для подавления подобных ошибок. –

0

Какой URL возвращается, когда правильные данные не выводятся?

1)

$json_data =file_get_contents('URl'); 
    if($json_data){ 
     //parse the data 
     }else{ 
     //show error 
    } 

, чтобы найти то, что именно URL возвращает

$json_data =file_get_contents('URl'); 
var_dump($json_data); 

использование Curl

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL, 'url_here'); 
$result = curl_exec($ch); 
curl_close($ch); 
$obj = json_decode($result); 
var_dump($obj) 
+0

Как я уже сказал, ЛЮБАЯ строка кода сразу после того, как команда file_get_contents ($ url) не выполняется, даже простое эхо «привет»; заявление. И если это помогает, вход URL в файл_get_contents совершенно корректен, потому что он работает иногда и иногда не работает. –

+0

@NavkarJain, пожалуйста, используйте curl и проверьте –

+0

Хорошо, что я реализовал cURL во всем процессе, и теперь он дает меньше ошибок, но не NO ошибок. Может быть, это проблема с памятью на сервере? или слишком много соединений веб-сервисов за раз? Он всегда возвращает ошибку только после того, как от 200 до 250 запросов выполняются с помощью веб-службы. –

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