2013-02-28 4 views
2

У меня есть скручивающийся скрипт, который я называю Rotten Tomatoes. Каждый раз, когда я запускаю его, даже в цикле for от 1 до 10, он выполняется бесконечно. Единственный способ остановить его - перезапустить сервер, страница продолжает называть сайт гнилых томатов, пока сервер не опустится. Скрипт curl работает для других API, поэтому он должен работать для этого. Вот оно, любая идея ?: Для $temp_movie, которая получает свое значение и работает правильно.Как остановить скрипт завитки?

$ch = curl_init(); 
$api_link = "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=****&q=".$temp_movie."&page_limit=1"; 
echo $api_link."<br>"; 
curl_setopt($ch, CURLOPT_URL, $api_link); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, '3'); 
$content = trim(curl_exec($ch)); 
curl_close($ch); 
$rottentomatoes = json_decode($content, true); 
+0

Вы действительно закрыли свое завитое соединение. но после этого вы не убили php, в какой момент это «бесконечное» поведение происходит? – Kristian

+0

всякий раз, когда я запускаю скрипт, он никогда не заканчивает загрузку. –

+0

Я получил его на работу, но я не знаю, почему он работает. Добавлен ответ ниже:/ –

ответ

0

Я понятия не имею, почему это работает, но как я уже сказал, завиток скрипт работал для других интерфейсов API, поэтому я попытался скопировать и вставить тот же код завитка (снова) и повторите попытку. По какой-то причине это работает? Есть ли какая-то разница, которую я просто не вижу ?:

$ch = curl_init(); 
$api_link = "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=****&q=".$temp_movie."&page_limit=1"; 
curl_setopt($ch, CURLOPT_URL, $api_link); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, '3'); 
$content = trim(curl_exec($ch)); 
curl_close($ch); 
$rottentomatoes = json_decode($content, true); 
+0

вы не выбрали '$ api_link' в этой версии. возможно, что-то с этим связано. – Kristian

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