我有一个托管服务器 (rochenhost.com),我在其中运行一些 PHP 代码。在过去,在我开始作为软件开发人员工作之前,自学成才之前,我将变量打印出来。
现在经过几年的学校和开发工作,在我学会使用调试器之后,我想:有没有什么好的 PHP 代码调试工具,在托管服务器上运行?
您正在生产服务器上直接处理的“托管代码”是什么?或者您是否有两个独立的代码库,一个用于开发(调试等),另一个用于生产(显示给您的实际用户)?您可能知道,直接在生产服务器上更改代码有点疯狂,几乎可以保证偶尔会导致您的网站宕机或造成安全漏洞。所以我最大的建议是获得一个本地开发服务器。这就像为您的计算机下载适当的 XAMP 堆栈并在调试完文件后使用您最喜欢的 VCS 与生产服务器同步文件一样简单。
拥有本地开发服务器后,请查看此问题以获取具有逐步功能的调试器列表,并查看此问题以获取不同平台上可用的 IDE 的更大列表。
如果您在远程服务器上调试代码时遇到困难,这里有一些其他的做法可以提供帮助。你可能已经在做这些了。
1)打开错误输出。您可以通过在开头插入以下行来为特定脚本执行此操作:
ini_set("display_errors","1");
error_reporting(E-ALL);
这将(有时)将信息性错误消息打印到页面。将此信息暴露给访问者被认为是主要的安全风险,因此请确保在完成测试后删除这些行。如果您有本地开发服务器或外部无法访问的服务器,则可以通过将行添加display errors = 1
到 php.ini 来打开所有页面的错误报告。
2)找到您服务器的 PHP 错误日志。这通常包含有关页面为何死亡的信息,即使您无法加载足够的页面以供 PHP 在那里显示错误消息。您还可以使用该命令error_log('your message here')
将消息打印到日志中,这在您不能只在页面上转储信息时很有用。
我对 FireFox 使用 FirePHP 扩展,对 Chrome 使用 ChromePhp。他们将日志消息放在浏览器的控制台日志中。他们为我节省了数小时的调试时间。