在哪里可以找到PHP输出/日志

时间:2013-04-24 08:50:54

标签: php javascript debugging web phpstorm

我是初学的Web开发人员,特别是PHP和一些前端技术(HTML,CSS,JS / JQuery)。我发现在某些情况下,很难找到PHP代码中的错误。以下是其中一个例子:

在HTML页面中,我使用JQuery将表单提交(使用post)到PHP文件以进行后端事务。由于我使用的是JQuery,页面不会被重定向到PHP页面,所以如果PHP代码有一些错误(甚至是一些愚蠢的语法/ SQL错误),当我们用普通的导航器测试它们时很难检测到它们。

我的问题是:如果我在上述情况下在PHP页面中使用 echo ,输出将驻留在哪里?我认为应该存在一些日志文件用于所有这些类型的输出。更重要的是,如果JavaScript中存在一些错误,是否有任何技巧可以快速找到错误?

PS:我在MAC OS下使用PHPStorm作为IDE。

5 个答案:

答案 0 :(得分:5)

当你运行AJAX时(从你的问题看起来就是这样),所有jQuery正在做的是为你“请求”页面。因此,您可以直接查看输出,jQuery将为您“捕获”它。一个AJAX请求只不过是一个普通的HTTP请求,只是在后台,所以你不会看到它。

因此;当你“回应”某些东西时,它只会被jQuery处理,会被发送到你的浏览器

有一些工具如firebug允许您查看来自ajax消息的请求和响应,从而也显示可能的错误或不同的输出。它是一个全能的调试器,因此您还可以看到呈现的HTML和/或JavaScript错误。

答案 1 :(得分:1)

如果您使用的是PHPstorm,我建议您查看Xdebug。 您必须从服务器启用Xdebug模块,并且可以使用断点和变量监视来管理php。

答案 2 :(得分:0)

当您正在开发ajax请求的PHP页面时,首先让它们在屏幕上输出结果,测试它们,然后在确定它们正在输出正确的东西时发出jquery请求

答案 3 :(得分:0)

使用“Firebug”控制台用于firefox,“Firebug lite”用于Chrome或按“F12”用于IE。你会看到控制台。在那里你可以看到正在进行的ajax请求并看到响应。

答案 4 :(得分:-1)

具体回答你的问题;示例中echo的输出将位于对post请求的响应中。通常情况下,这将是页面重新加载,但在ajax请求中(如您所述),您没有得到它。

使用浏览器开发人员工具(例如Firefox中的Chrome或firebug中的Inspector),以便您在发布请求后查看来自您的Ajax回复

您还可以在ajax的成功部分使用console.log Javascript方法记录回复

$(function() {

    $.ajax({
        // snip
        success: function(response) {
            console.log(response);
        }
    });