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

在哪里可以找到PHP输出/日志,php,javascript,debugging,web,phpstorm,Php,Javascript,Debugging,Web,Phpstorm,我是一名网络开发新手,特别是PHP和一些前端技术(HTML、CSS、JS/JQuery)。我发现在某些情况下,很难在PHP代码中找到bug。以下是一个例子: 在HTML页面中,我使用JQuery将表单提交(连同post)到PHP文件以进行后端事务。因为我使用的是JQuery,所以页面不会被重定向到PHP页面,所以如果PHP代码有一些bug(甚至是一些愚蠢的语法/SQL错误),当我们使用普通的导航器测试它们时,很难检测到它们 我的问题是:如果我在上述情况下在PHP页面中使用echo,那么输出将驻留

我是一名网络开发新手,特别是PHP和一些前端技术(HTML、CSS、JS/JQuery)。我发现在某些情况下,很难在PHP代码中找到bug。以下是一个例子:

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

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


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

专门回答您的问题;在您的示例中,
echo
的输出将在对post请求的响应中。通常情况下,这将是页面重新加载,但在ajax请求中(如您所述),您不会得到这样的结果

使用浏览器开发工具,如chrome中的Inspector或Firefox中的firebug,可以查看来自post请求的Ajax响应

您还可以使用ajax的success部分中的
console.log
Javascript方法记录响应

$(function() {

    $.ajax({
        // snip
        success: function(response) {
            console.log(response);
        }
    });
当您运行AJAX时(从您的问题来看,听起来是这样),jQuery所做的就是“为您”请求页面。因此,jQuery将为您“捕获”输出,而不是直接查看输出。AJAX请求只不过是一个普通的HTTP请求,只是在后台,所以您不会看到它

因此,;当您“回显”某个内容时,它将只由jQuery处理,因此发送到您的浏览器


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

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

使用“Firebug”firefox的控制台,“Firebug lite”用于chrome或按“F12”用于IE。您将看到控制台。在这里,您可以看到正在进行的ajax请求和响应。

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

您使用的浏览器是什么?如果错误日志中存在任何解析器/或致命错误,则系统将自行创建日志文件,如果您使用的是chrome或firefox开发者控制台ajax@intelis我主要使用Firefox或Firefox或者Safari。现在Firefox似乎有内置的web开发工具,这与Firebug非常相似,尽管我不是这两种工具的专家。使用web开发工具,我可以检查请求主体,但是在后端php代码中仍然很难找到bug。Firebug比内置的开发工具更有用,特别是在ajax调试中,因为它允许您查看请求和响应,如果您的代码隐藏页面出现错误,也会显示任何php错误。@Dave是的,我发现现在我可以看到输出内容了。真不错!:)@EnsomHodder我不认为内置工具像firebug那样有用和强大。如果你使用mac,我建议你看一下[对于MacYep,我在Zend Debugger中找到了这个工具。我安装了它们,并检查它们是否正在运行(带有测试phpinfo()页面)。但是,我没有成功地将Xdebug集成到我的PHPStorm中。您可以轻松地使用[]来管理调试会话。它在php中的服务方面对我帮助很大。