【问题标题】:IPN delivery failed. HTTP error code 500: Internal Server ErrorIPN 传送失败。 HTTP 错误代码 500:内部服务器错误
【发布时间】:2012-10-11 08:07:51
【问题描述】:

我正在创建一个 PHP 文件来与 Paypal 的即时付款通知 (IPN) 进行通信。我创建了一个“ipn.php”文件,它使用一个 IPN 监听器(带有一个文件“ipnlistener.php”)来监听来自 Paypal 服务器的“POST”消息。

为此,我还在与 ipn.php 相同的文件夹中创建了一个“ipn_errors.log”文件。当我尝试从 Web 浏览器访问 ipn.php 时,它应该会抛出一个错误并将其记录到 ipn_errors.log 文件中。该错误显示在 Web 浏览器上,但未记录在 ipn_errors.log 文件中。此外,在使用 Paypal Sandbox 的即时付款通知 (IPN) 模拟器时,它会显示错误“IPN 传递失败。HTTP 错误代码 500:内部服务器错误”

我相信这是因为 ipn.php 和 ipn_errors.log 文件的权限问题。谁能告诉我在这种情况下什么权限是正确的?我正在使用 cpanel 来管理我的网站。

【问题讨论】:

  • @atmon3r 这个问题其实是通过把ipn.php文件的权限改成644来解决的。我相信问题是相似的,但解决方案肯定是不同的。

标签: php logging error-handling cpanel paypal-ipn


【解决方案1】:

服务器用户需要写权限。需要给组增加写权限,把文件所属的组改成服务器用户,或者给所有者增加写权限(把所有者改成服务器用户)。

服务器用户是指运行 apache 的用户。在 Debian/ubuntu 上,该用户是 www-data,在 redhat 上,它被称为 apache。看看其他与网络服务器相关的文件的所有者,你应该能够在某个地方找到它作为文件所有者。

【讨论】:

  • 感谢您的快速回复!我不确定您所说的“服务器用户”是什么意思。我可以向组添加写权限,但我不明白如何“将文件的组更改为服务器用户”
  • 哦,实际上我正在为 cpanel 使用 Web 主机管理器。那么我是否必须要求我正在使用的 Internet 经销商(即 GVO www.gogvo.com)将文件的组更改为服务器用户?
  • 也许吧?对不起,我没用过cpanel。如果您对系统上的任何人都在读取文件感到满意(希望它在您的 webroot 之外,无论如何),那么您可以将写入权限添加到“其他”用户的第三类用户权限。但这本质上是将其设置为根本没有权限检查。谨慎使用。
猜你喜欢
  • 2013-09-02
  • 2013-11-01
  • 2012-05-04
  • 2017-09-03
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多