Php 错误500使用标头()执行脚本失败

Php 错误500使用标头()执行脚本失败,php,header,Php,Header,我没有使用输入隐藏字段,而是构建了一个查询来将变量传递给ipn: $query="cmd=_xclick&business=PAYPALKONTO-EMAIL&notify_url=http://IPNURL/ipn.php&return=http://ZURÜCKurlWENNbezahlt.de& cancel_return=http:/ZURÜCKurlWENNangebrochen.de&lc=DE&currency_code=EU

我没有使用输入隐藏字段,而是构建了一个查询来将变量传递给ipn:

  $query="cmd=_xclick&business=PAYPALKONTO-EMAIL&notify_url=http://IPNURL/ipn.php&return=http://ZURÜCKurlWENNbezahlt.de&
  cancel_return=http:/ZURÜCKurlWENNangebrochen.de&lc=DE&currency_code=EUR&custom=WERSTECKTEinformationenDIEmitGESENDETwerdenABERkeinerSIEHTzbPREISidODERnichts&
  item_name=Artikel&amount='".str_replace(",",  ".",  $_SESSION['1'])."'"; 

  ob_end_clean();
  header("Location: https://www.sandbox.paypal.com/cgi-bin/webscr?".utf8_decode($query));
  exit;  

但当我点击submit时,它会停留在同一页面上,并得到
错误:500“脚本执行失败”
这是为什么?如何修复此错误?

检查服务器日志以了解确切的错误(或在php.ini中打开错误报告以查看浏览器中的错误消息)

但是,如果错误发生在
header()
函数中,那么原因几乎总是因为您已经先向浏览器发送了一些其他输出--
header()
必须在发送任何页面正文之前被调用


如果您认为自己没有发送任何内容,则可能是无意中在一个(或多个)PHP文件的开头或结尾留下的空白。

很可能是代码中有错误,检查服务器错误日志以获取更多信息尝试使用
http\u build\u query
构建查询,而不是自己构建字符串-可能存在编码问题。为什么要对看起来不需要的字符串进行utf8\u解码?你确定这是访问PayPal的合法方式吗,通常的方法是使用cURL发布数据。