使用远程 shell 访问进行 PHP 调试

标签 php debugging methodology remote-debugging

作为我的 PHP 学习过程的一部分,我正在玩一个使用共享托管服务的 PHP 网络日志应用程序。服务提供商具有典型的 LAMP 环境,具有远程 ssh 访问权限。

在探索 PHP 代码时,Vim 一直是我最好的 friend 。但是,我发现有时在出错的情况下很难跟踪代码中的内容。例如,有时我访问一个页面,得到一个空白响应,没有任何错误消息。我应该如何调试呢?有什么有用的工具吗?

我的经验主要是 C/C++、Perl 和一些 CGI 编程。所以 PHP 对我来说是一种非常令人耳目一新的体验:-)

以防万一,我正在玩的应用程序是 Lyceum ,而且我对 LAMP 环境本身没有太多选择。

编辑:首选免费软件工具:-)

最佳答案

我假设您的托管服务提供商使用 display_errors 配置了他们的 PHP 安装关闭,这是一件好事。这就是您看到空白页的原因。所以目前最实用的解决方案是拥有一个 .htaccess 文件来打开它:

php_flag display_errors on

您还需要 error_reporting到适当的值:

php_flag error_reporting "E_ALL | E_STRICT"

无论如何,请记住在让用户访问您的网站之前将其关闭。

对于高级调试,我推荐 Xdebug安装在服务器上 Eclipse PDTNetBeans IDE with PHP support作为你的编辑。它们都是调试的好客户端,但我真的怀疑任何供应商会在他们的实时服务器上安装 Xdebug。因此,如果您没有开发环境,您几乎只能使用日志记录功能。

关于使用远程 shell 访问进行 PHP 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502641/

相关文章:

linux - 运行带有 --quiet 选项标志的 rpmbuild 命令会产生大量调试信息

design-patterns - 调和 YAGNI 与远见的悖论

methodology - 自行开发

programming-languages - 不断变化的框架/API - 我们如何跟上?

php - 阿拉伯语编码的数据库问题

php - 在 .htaccess 中获取 PHP session 变量

php - 带序数的 strftime

iOS 7 应用程序卡住而不会崩溃

PHP:将列表插入数据库的有效方法

c++ - 如何 "decrypt"链接器方法名称?