0

我有一个连接到运行 MySQL DB 的 Web 服务器的 Android 应用程序。在 Web 服务器上,我有php运行脚本并将JSON对象返回给客户端(应用程序)的文件。我最近升级了我的 web 服务器的版本,从那时起,如果SELECT语句有参数,它们将不再向客户端返回任何内容,但是如果我运行SELECT没有参数的 a,它工作正常。有没有人遇到过类似的问题?

为了更清楚我的问题:

无论如何我可以调试php 脚本吗?

我想也许通过网络浏览器进行调试是行不通的,因为客户端是直接触发 php 文件而不是直接访问网络。

非常感谢所有帮助!

4

6 回答 6

1

Chrome 有一套工具可以让你从你的 android 远程调试。

检查出来: https ://developers.google.com/chrome-developer-tools/docs/remote-debugging

于 2013-07-25T13:34:24.527 回答
0

我建议使用 XDEBUG 来调试 PHP 代码,或任何类似的 Web 服务器。在任何 PHP IDE(如 Netbeans )中设置和使用它都非常简单,它为您提供了很多探索应用程序条件的能力。使用 ?XDEBUG_SESSION_START=netbeans-xdebug 参数打开链接的浏览器没有区别。

您还可以观看 MySQL 和 Web 服务器日志。

如果您无法执行上述任何操作并且需要查看网络操作(AJAX 请求),您可以在 Android chrome 浏览器中设置ADB并使用 chrome 开发者控制台调试 js(或在 ajax 调用中查看 php var_dump())。

如果您需要在本机 android 浏览器中调试 js - 尝试重定向到“about:debug”页面,然后您将能够看到浏览器 js 控制台(在某些情况下,此按钮仅在控制台有要显示的内容时出现 - 错误或任何其他消息,在某些情况下它只是不起作用)。

更新观看重复复制移动

于 2013-07-26T09:54:23.960 回答
0

您可以编写自己的错误处理程序,让他将一些调试信息写入自己的日志文件。比你可以阅读日志文件并检查它是否有错误

于 2013-07-25T13:31:17.487 回答
0
  1. 查看服务器上的 MySQL 错误日志和 php 错误日志
  2. 检查您在新升级的 PHP 中激活了正确的 php_mysql* 扩展
  3. 通过浏览器使用您的应用程序使用的相同参数在服务器上运行脚本,注意错误
  4. 升级在服务器上运行的 PHP 代码,以便它捕获任何错误并对它们做一些显而易见的事情。
于 2013-07-25T13:36:22.267 回答
0

正如其他人所提到的,您可以使用mysql和给出的错误日志进行调试php。还有一些带有调试工具的IDEphp ,用于脚本语言,如.

使用JetBrains 的 phpStorm 之类的 IDE ,我强烈建议您在普通文本编辑器上使用它,您可以配置数据源,例如与数据库的连接MySQL。这很有用,因为您可以在 IDE 中运行脚本并查看是从数据库中检索数据还是在脚本中检索数据,或者JSON在客户端处理对象。因此,如果您配置数据源并运行相同的脚本并获得正确的数据,那么您就会知道发送数据的代码有问题,或者接收数据的代码有问题。

** ps 我知道我已经 5 年了(哦,我的日子自 2013 年以来已经 5 年了),但你永远不知道谁可能有同样的问题,他们偶然发现了这个答案

于 2018-03-09T15:28:35.890 回答
0

1st - 设置 Xdebug 以使用您的 IDE(Eclipse、PHPStrom 等)进行远程调试,并在脚本中放置断点。(例如这里是设置 eclipse 环境的链接)。

2-nd - 将您的 url 请求发送到服务器时,将参数添加到您的 url( http://your/url.php& XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=XXXXX,

-1st参数 - XDEBUG_SESSION_START =ECLIPSE_DBGP 开始调试会话。(对于我来说,我使用 Eclipse IDE 进行开发,所以我的密钥是 ECLIPSE_DBGP)。

-2nd 参数 - KEY =XXXXXX - 是一个会话编号(在此处输入任何数字)。

之后,您将在脚本中的调试点获得代码中断。

于 2019-04-03T18:34:06.393 回答