2012-04-19 42 views
1

我有一个托管服务器(rochenhost.com),我运行一些PHP代码。 在过去,在我开始从事软件开发工作之前,我自学成功地将变量输出。调试托管服务器上的PHP代码

现在经过几年的学校和开发人员的工作,并且在我学会了使用调试器之后,我发现:在托管服务器上运行的PHP代码是否有很好的调试工具?

回答

4

您直接在生产服务器上处理“托管代码”吗?或者你有两个单独的代码库,一个用于开发(调试等)和另一个用于生产(显示给你的实际用户)?正如您可能知道的那样,直接在生产服务器上更改代码有点疯狂,并且几乎可以保证偶尔会导致您的站点停机或创建安全漏洞。所以我最大的建议是得到本地开发服务器。这可以像为您的计算机下载合适的XAMP堆栈一样简单,并且在您调试完毕后使用您最喜爱的VCS与生产服务器同步文件。

有了本地开发服务器之后,请查看this question了解带有逐步功能的调试器列表,以及this one可查看不同平台上可用IDE的更多列表。

如果您在远程服务器上调试代码时遇到困难,请参阅其他一些可以帮助您的操作。你可能已经在做他们。

1)打开错误输出。您可以通过在开头插入以下行特定的脚本做到这一点:

ini_set("display_errors","1"); 
error_reporting(E-ALL); 

这将打印(有时)信息的错误信息页面。将这些信息暴露给访问者被认为是一个重大的安全风险,因此确保在完成测试后删除这些行。如果您有本地开发服务器或外部世界无法访问的服务器,则可以通过在php.ini中添加行display errors = 1来打开所有页面的错误报告。

2)找到您的服务器的PHP错误日志。这通常包含有关页面为何死亡的信息,即使您无法加载足够的页面供PHP在其中显示错误消息。您也可以使用命令error_log('your message here')将消息打印到日志中,当您不能将信息转储到您的页面时这非常有用。

+0

我怀疑你的意思是VCS而不是CVS:D – Cal 2012-04-19 19:04:00

+0

谢谢,修复。这对于有一个名为CVS> _ <的VCS没有帮助 – octern 2012-04-19 20:04:03

2

我使用Firefox的FirePHP扩展和Chrome的ChromePhp。他们将日志消息放入浏览器的控制台日志中。他们节省了我几个小时的调试时间。