2013-10-22 3 views
0

curl_exec에 문제가 있습니다.PHP - curl_exec는 로컬 호스트에서 작동하지만 온라인에서는 작동하지 않습니다.

$id = "zuck"; 
    $url = "http://graph.facebook.com/" . $id; 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

    // curl_exec should return a json encoded string 
    $content = curl_exec($ch); 
    $content = json_decode($content); 

그럼 $의 컨텐츠 -> 이름, 등등 ... 그것은 로컬 호스트와 함께 잘 작동 아니라 온라인과 같은 정보를 얻을 수 있습니다.

var_dump($content) 

은 json 문자열 대신 NULL을 반환합니다.

내 로컬 호스트의 PHP는 5.5.3이며, 호스팅 서비스 공급자의 5.3.24입니다.

아이디어가 있으십니까?

도움 주셔서 감사합니다.

+0

'var_dump (function_exists ('curl_version '));'출력은 무엇입니까? –

+0

'phpinfo()'는 curl이 활성화되어 있다고 말합니까? – Barmar

+0

컬이 원격 서버에 설치되지 않았을 수 있습니다 (확장자가 누락되었습니다) ... – bodi0

답변

0

아마도이 기능을 먼저 활성화해야 할 수 있습니다. PHP.ini에서 ;extension=php_curl.dll을 찾고 주석 처리를 제거하십시오.

0

편집 : 방금 이탈리아어 포럼에서 답변을 얻었습니다. (언어를 모르더라도 Google의 도움을 받아 번역했습니다!). 어쨌든, 자유롭게 우리가 호스팅하는 것은 페이스 북 API 그래프를 지원하지 않습니다. 문제가 해결되었습니다.

@Amal Murail : var_dump (function_exists ('curl_version'))); true를 반환합니다.

@Barmar : phpinfo(); 컬이 가능하다고 말합니다.

cURL support  enabled 
cURL Information 7.19.7 
Age    3 
Features 
AsynchDNS   No 
Debug    No 
GSS-Negotiate  Yes 
IDN    Yes 
IPv6    Yes 
Largefile   Yes 
NTLM    Yes 
SPNEGO   No 
SSL    Yes 
SSPI    No 
krb4    No 
libz    Yes 
CharConv   No 
Protocols   tftp, ftp, telnet, dict, ldap, ldaps, http, file, https, ftps, scp, sftp 
Host    x86_64-redhat-linux-gnu 
SSL Version  NSS/3.13.6.0 
ZLib Version  1.2.3 
libSSH Version libssh2/1.4.2 

내 호스팅 서비스 제공 업체에서 curl이 활성화되어 있지만 내 코드가 작동하지 않는 이유를 아직 알 수 없습니다.

답변 해 주셔서 감사합니다.

관련 문제