2013-09-01 2 views
1

Это мой кодБудет ли Curl в PHP выкидывать исключение?

<?php 
$url = "http://i.imgur.com/qV39tsL.gif"; 
$ch = curl_init(); 
echo $ch; 
$timeout = 20; 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$content = curl_exec($ch); 
curl_close($ch); 
echo $content; 
?> 

В моей среде, моя скорость доступа к интернету немного медленно, так что иногда я не могу скачать некоторые гифы из Imgur.

НО то, что меня смутило, что я часто получаю сообщение об ошибке следующим образом:

**ERROR 500: Internal Server Error.** 

Я посмотрел в StackOverflow, Curl в PHP не должен сделать сервер вниз.

Так кто-нибудь скажет мне, почему я могу получить ERROR 500: Внутренняя ошибка сервера?

Спасибо ~~~

ответ

0

Я выполнил сценарий без проблем. Это может быть что-то на вашем сервере с установкой завитка.

Проверьте журнал ошибок сервера, чтобы лучше узнать описание ошибки. Возможно, вам нужно переустановить завиток.

0

Попробуйте это (протестировано), было несколько директив.

Не включая заголовок, будет отображаться только двоичный контент файла .gif, а не сам образ.

<?php 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://i.imgur.com/qV39tsL.gif'); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 
$content = curl_exec($ch); 
curl_close($ch); 
//Display the image in the browser 
header('Content-type: image/gif'); 
echo $content; 

/* You could also save the file to your server at the same time 
using the following outside this comment 
// save on server option 
$fh = fopen('filename.gif', 'w'); 
fwrite($fh, $content); 
fclose($fh); 
*/ 

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