Home  >  Article  >  Backend Development  >  joomla - PHP远程调试(xdebug)的最佳解决方案

joomla - PHP远程调试(xdebug)的最佳解决方案

WBOY
WBOYOriginal
2016-06-06 20:15:15937browse

我在用joomla做一些小的网站和应用,有的时候为了定制页面和模块的功能,需要修改一些PHP文件。当涉及到比较复杂的类的时候,用var_dump很不方便,所以就下定决心想要学习如何调试PHP。由于我不是搭建整个项目,而是在一个已经搭建好在运行的网站上修修补补,所以我想要从自己的电脑上连到虚拟服务器进行远程调试。关于这远程调试,我看了很多文档,也作了很多尝试,仍然是不得要领。

我想确认的是,“远程调试”究竟是不是需要先为远程的网站或应用创建一个本地版本?SO上很多人告诉我必须要有一个本地版本,但是如果这样的话我总觉得会非常麻烦。因为假如我今天把整个Joomla网站下载下来调试之后作了一些修改之后上传回去,明天我为这个网站更新了一些扩展、文章和插件,后天我要做一些调试的时候难道又不得不再把整个网站下载一遍?大家知道Joomla网站文件很多,复制下载一遍都要5-10分钟左右,如果每次调试都要下载一遍的话,那我还不如就用var_dump算了,虽然原始但也能对付了。
(这里又牵涉到一个版本控制的问题。我对git不是非常熟,但如果git能让我很方便地在把调试后的本地网站同步到远程服务器,那git也是一种可以接受的解决方案。)
接上文,所以,我一直在找有没有可以让我从本机直接连接到远程服务器上调试的方法。虽然我现在还不是很确定这究竟在技术上是不是可行的,但是我看到的一些文章似乎暗示这样是可以的,比如这篇:Remote debugging in PHPstorm via SSH tunnel,我照着这篇文章提示的去设置,但是仍然有很多不明白的地方。我想这些最好还是放在另一个问题里面提问。
这个提问主要是关于远程调试的"common practice",究竟像我这种情况应采用怎样的调试策略为佳?大家看我写了这么多就知道我真的是非常有诚意的提问,盼望各路高手不吝赐教。

回复内容:

我在用joomla做一些小的网站和应用,有的时候为了定制页面和模块的功能,需要修改一些PHP文件。当涉及到比较复杂的类的时候,用var_dump很不方便,所以就下定决心想要学习如何调试PHP。由于我不是搭建整个项目,而是在一个已经搭建好在运行的网站上修修补补,所以我想要从自己的电脑上连到虚拟服务器进行远程调试。关于这远程调试,我看了很多文档,也作了很多尝试,仍然是不得要领。

我想确认的是,“远程调试”究竟是不是需要先为远程的网站或应用创建一个本地版本?SO上很多人告诉我必须要有一个本地版本,但是如果这样的话我总觉得会非常麻烦。因为假如我今天把整个Joomla网站下载下来调试之后作了一些修改之后上传回去,明天我为这个网站更新了一些扩展、文章和插件,后天我要做一些调试的时候难道又不得不再把整个网站下载一遍?大家知道Joomla网站文件很多,复制下载一遍都要5-10分钟左右,如果每次调试都要下载一遍的话,那我还不如就用var_dump算了,虽然原始但也能对付了。
(这里又牵涉到一个版本控制的问题。我对git不是非常熟,但如果git能让我很方便地在把调试后的本地网站同步到远程服务器,那git也是一种可以接受的解决方案。)
接上文,所以,我一直在找有没有可以让我从本机直接连接到远程服务器上调试的方法。虽然我现在还不是很确定这究竟在技术上是不是可行的,但是我看到的一些文章似乎暗示这样是可以的,比如这篇:Remote debugging in PHPstorm via SSH tunnel,我照着这篇文章提示的去设置,但是仍然有很多不明白的地方。我想这些最好还是放在另一个问题里面提问。
这个提问主要是关于远程调试的"common practice",究竟像我这种情况应采用怎样的调试策略为佳?大家看我写了这么多就知道我真的是非常有诚意的提问,盼望各路高手不吝赐教。

直接在生产服务器调试显然不是解决方案, 那就需要一个开发服务器
这个开发服务器在本地时, 调试是最方便的

数据和代码同步是小问题 git不会每次都需要10分钟

git 第一次克隆的时候会慢点,后面的都只更新改动过了的文件。我自己开发东西都是本地一套环境线上一套环境,然后用git同步代码,数据可以从线上导一部分下来调试。

总之git真的很方便,git的学习资料也挺多的,学习基本用法也花不了多少时间。相比较复制这种方式。。。git你太值得拥有了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn