0

アダプティブ ペイパル決済に使用しました。このコードを使用

$params = array("http" => array( 
    "method" => "POST",
    "content" => $body_data,
    "header" =>  "X-PAYPAL-SECURITY-USERID: " . $API_UserName . "\r\n" .
    "X-PAYPAL-SECURITY-SIGNATURE: " . $API_Signature . "\r\n" .
    "X-PAYPAL-SECURITY-PASSWORD: " . $API_Password . "\r\n" .
    "X-PAYPAL-APPLICATION-ID: " . $API_AppID . "\r\n" .
    "X-PAYPAL-REQUEST-DATA-FORMAT: " . $API_RequestFormat . "\r\n" .
    "X-PAYPAL-RESPONSE-DATA-FORMAT: " . $API_ResponseFormat . "\r\n" 
));

$ctx = stream_context_create($params);

//open the stream and send request
$fp = @fopen($url, "r", false, $ctx);

//get response
$response = stream_get_contents($fp);

//check to see if stream is open
if ($response === false) {
   throw new Exception("php error message = " . "$php_errormsg");
}

//close the stream
fclose($fp);

しかし、それはエラーメッセージを表示します

メッセージ: ||php エラー メッセージ = stream_get_contents() は、パラメーター 1 がリソースであると想定しています。ブール値が指定されています||

これを削除する方法を教えてください... :)

4

2 に答える 2

0

これは、次の理由で発生しています。

$fp = @fopen($url, "r", false, $ctx);

FALSE ブール値を返しています。@ 演算子 (エラー コントロール) を削除し、関数がエラーや通知をスローしているかどうかを確認します。また、URL が正しいことを確認してください。

于 2012-11-29T12:55:22.213 に答える
0

呼び出しに失敗しましfopen()た (false が返されました)。でエラーを抑制しているのはなぜ@ですか?

何が入って$urlいてもアクセスできませんでした。リソースがアクセス可能であり、ネットワークの問題がないことを確認してください。

安全なリンクにアクセスしようとしている場合は、httpsOpenSSL をインストールして有効にする必要があります。

マニュアルから:

成功した場合はファイル ポインター リソースを返し、エラーの場合は FALSE を返します。

于 2012-11-29T12:55:25.283 に答える