如何在服务器端调试php脚本?在某种情况下,客户端页面不显示响应

Edw*_*ard 9 php

我目前正在我的主机上测试脚本.此脚本用于接受PayPal IPN数据,执行一些操作(即数据验证),将必要的数据发送到特定的电子邮件地址等.

我在PayPal网站上使用测试工具将测试数据发布到我的脚本中.我的脚本不起作用:应该发出代码,但我看不到错误.PayPal中的测试工具只是做了帖子,似乎不接受任何回复.我想看看我的脚本中发生了什么,以便我可以解决它.如何获取脚本输出的错误消息?

有任何想法吗?

Ale*_*exV 5

不确定你是否已经测试过了(放在PHP脚本的最开头):

error_reporting(-1);
ini_set('display_errors', 'On');
Run Code Online (Sandbox Code Playgroud)

如果它没有显示,请尝试使用.htaccess(如果在Apache上):

php_flag display_errors on
php_value error_reporting -1
Run Code Online (Sandbox Code Playgroud)

有这个你应该得到你的错误.如果没有,请尝试使用服务器日志,或者如果仍然没有帮助,请尝试使用echo某些控制值来查找崩溃的位置...

当然,这仅用于调试目的,您应该在生产时将其关闭.


Dav*_*win 2

更好的方法是将错误记录到文件中,而不是“屏幕”中。如果您进行服务器范围内的更改,服务器上的其他站点可能会受到影响。

  • 日志错误 = 开
  • 显示错误=关闭
  • error_log = /tmp/php.log (或您选择的更好路径;文件可能需要可由 Apache/webserver 写入)。

如果以上所有步骤都失败,请安装xdebug并尝试调试代码 - 您可以逐行单步执行并随意检查变量 - 也许这会给您一个更好的主意。

如果做不到这一点,请求助于 var_dump() 和朋友。