エラーの原因となっている php で記述されたペイパル IPN リスナー スクリプトがあり、ログ ファイルが非常に速くいっぱいになり、サーバーがクラッシュします。
エラーは次のとおりです:リスナーfeof():30は有効なストリームリソースではありません
私はペイパル IPN リスナーの最新の例を高低で探しましたが、そのような例を提供するのはペイパルを超えているようです。
これが私のコードです:
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// Post back to PayPal to validate
$server = "ssl://www.paypal.com";
$port = 443;
$timeout = 30;
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.paypal.com\r\n"; // www.paypal.com for a live site
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen($server, $port, $errno, $errstr, $timeout);
$payment_status = $_POST['payment_status'];
$custom = $_POST["custom"];
$txn_type = $_POST["txn_type"];
// Process validation from PayPal
if (!$fp) {
//error
echo "HTTP ERROR";
} else {
// NO HTTP ERROR
fputs($fp, $header . $req);
while (!feof($fp)) {
$res = trim(fgets ($fp, 1024));
if (strcmp($res, "VERIFIED") == 0) {
if ($payment_status == "Completed")
{
//code to update database here
}
}
}
}
アイデアはありますか?