gpt4 book ai didi

php - Paypal IPN 脚本,feof 和 fgets 问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:12:57 26 4
gpt4 key购买 nike

几天来,我的 Paypal IPN 监听器脚本一直存在问题。对于那些不熟悉 Paypal IPN 系统的人,基本上 Paypal 会向您的脚本发送一条关于交易的消息,您将其发送回来并添加几位。如果 Paypal 收到正确的回复,它会回复“已验证”,否则会回复“无效”。

我最初认为我遇到的问题是“fsockopen”命令: $fp=fsockopen('ssl://sandbox.paypal.com', 443, $errno, $errstr, 30);然而,将我所有的代码减少到几乎只有这一行,它似乎连接正常。问题出在“feof”和“fgets”命令上。脚本就挂了,我不知道为什么。我基本上复制了 Paypal IPN Listener 网站上建议的代码,所以我认为它会起作用!如果您能帮助我理解为什么 feof 或 fgets 导致它停止,那么您的帮助将不胜感激。

这是完整的脚本:

$postback = 'cmd=_notify-validate'; //doesn't matter what these include for now
$header='abc';

//Script has been activated, create debug
$filename = 'debug/debug1_script.txt';
$filehandle=fopen($filename, 'w');
fwrite($filehandle,$postback);
fclose($filehandle);


$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);//open the connection

//no connection, create debug file
if(!$fp){
$filename = 'debug/debug2_fpfail.txt';
$filehandle=fopen($filename, 'w');
fwrite($filehandle, $errstr.'('.$errno.')');
fclose($filehandle);
die();
}


//post data back
fputs($fp, $header . $postback);

//create debug file
$filename = 'debug/debug3_postback.txt';
$filehandle=fopen($filename, 'w');
fwrite($filehandle, $header.$postback);
fclose($filehandle);


//script hangs with either of the two following lines included
while(!feof($fp)){
$res=fgets($fp,1024);
}

非常感谢!

最佳答案

所以我想我找到了一个解决方案,而不是使用

while(!feof())

fgets()

组合,我用过这个:

$res=stream_get_contents($fp, 1024);

第一次工作!现在我可以继续我的生活了。

关于php - Paypal IPN 脚本,feof 和 fgets 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com