2012-01-09 3 views
0

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select내가 페이팔과 통합하면서이 경고를 받고 계속 : PHP 경고 :는 fgets()는 매개 변수 (1) 자원이 될 것으로 예상, 부울

$url = $this->getAppParam('sandbox') ? 'www.sandbox.paypal.com' : 'www.paypal.com'; 
// OCT 31,2011 : now paypal uses ssl:// in url and port 443 
$fp = fsockopen ('ssl://'.$url , 443, $errno, $errstr, 30); 
XiError::assert($fp); 


// post data back to PayPal system to validate 
$header = "POST /cgi-bin/webscr HTTP/1.0\r\n"; 
$header .= "Host: $url\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; 
fputs ($fp, $header . $req); 

// read the response data now 
$return = false; 
while(! feof($fp)){ 
    //XITODO : Add this to tmp log file 
    $response = fgets ($fp, 1024); //echo $res; 
    if (strcmp ($response, 'VERIFIED') == 0) { 
    $return = true; 
    } 

    if (strcmp ($response, 'INVALID') == 0) { 
     $return = false; 
    } 
} 

이 XiError :: 이것은

static function assert($condition, $msg = '', $type = self::ERROR) 
    { 
     // assert only if in debug mode 
     if($condition || !(JDEBUG)){ 
      return true; 
     } 

     //raise error 
     if($type == self::ERROR){ 
      self::raiseError('XI-ERROR', $msg); 
     } 

     //raise warning 
     if($type == self::WARNING){ 
      self::raiseWarning('XI-WARNING', $msg); 
     } 

     // enqueue message 
     XiFactory::getApplication()->enqueueMessage('XI-WARNING : '.$msg); 
    } 

어설 제공 내가 사용하고있는 코드. 초 단위로 경고 PHP Warning: fgets() expects parameter 1 to be resource, boolean given in /var/www/**** 이 생성 중입니다. 이로 인해 내 서버에서 4GB 오류 로그가 발생합니다. 어떤 생각?

+0

경고를 발생시키는 것은'fgets()'입니까? 코드를 남기지 않았 니? 'XiError :: assert'는 무엇을합니까? –

+0

이 질문을 업데이트했습니다. – Gaurav

답변

0

소켓을 사용하지 마십시오! 을 사용하십시오. php.Curl의 CURL은 소켓이 작동하지 않을 때 PHP에서 가장 좋은 옵션입니다.