2012-01-09 7 views
0

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select私はPayPalで統合しながら、この警告を取得し続ける: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与えられたリソース、boolean型であることを期待::これは

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); 
    } 

をアサート私が使用しているコード。 1秒間に50回、警告 PHP Warning: fgets() expects parameter 1 to be resource, boolean given in /var/www/**** を生成しています。 これは私のサーバーで4 GBのエラーログを引き起こしています。何か案が?

+0

これは警告を発する 'fgets()'ですか?あなたはコードを残していませんでしたか? 'XiError :: assert'は何をしますか? –

+0

が更新されました。 – Gaurav

答えて

0

ソケットを使用しないでください! CURLをphp.Curlで使用すると、ソケットが動作していないときにPHPで最適なオプションです。

関連する問題