最新消息:20181230 VPS服务器已从Linode换到腾讯云香港,主题仍用朋友推荐的大前端D8

【已解决】Mac中如何实现实时调试本地wordpress中插件的php代码

Mac crifan 723浏览 0评论

折腾:

【未解决】如何用PHP编写一个wordpress的插件

需要尽量去实现,在Mac中,如何才能实现实时的调试本地Wordpress中插件的PHP代码。

php 实时调试

使用phpstorm+wamp实现php代码实时调试审计 – 行长圈 – wooyun_p | 漏洞银行(BUGBANK) | 全球漏洞悬赏平台

但是都没有截图,感觉不会有假吧?

php realtime debug

debugging – Debug PHP in Real Time – Stack Overflow

Xdebug: Documentation

phptrace/README_ZH.md at master · Qihoo360/phptrace

看起来就很麻烦。算了。

Help – Eclipse Platform

是Eclipse的远程调试工具,好像支持调试php。

但是我此处不用Eclipse,所以也不去看了。

PHP: Debugging in PHP – Manual

还是只能输出信息了。。

kint-php/kint: Kint – a powerful and modern PHP debugging tool.

看起来还行。

用于替代:var_dump()print_r() and debug_backtrace().

但是好用多了。抽空去试试。

Xdebug and You: Why You Should be Using a Real Debugger — Juan Treminio — Dallas based senior web developer

里面介绍了各种IDE或编辑器对于Xdebug的支持情况,其中最好的是PhpStorm

那就去参考教程去试试

Xdebug & Zend Debugger Bookmarklets Generator – Marklets | PhpStorm

Zero-configuration Web Application Debugging with Xdebug and PhpStorm – PhpStorm – Confluence

Video Tutorials – Documentation | PhpStorm

Configuring PHP Development Environment – Help | PhpStorm

先要去保证,PHP开发环境+XDebug插件已启用

【已解决】Mac中下载安装试用PhpStorm

【已解决】Mac的MAMP中确保启用Xdebug插件

期间也找到供参考的帖子:

How To Setup and Configure PhpStorm, Xdebug, and MAMP for Debugging – Michael Novotny

在 MAC OS X 中配置 PHP、Apache、MySQL 和 Xdebug for PHP 开发 – NetBeans IDE 教程

Cannot Get xdebug working with MAMP on Mac – IDEs Support (IntelliJ Platform) | JetBrains

继续参考上面的:

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

Xdebug Installation Guide – PhpStorm – Confluence

Validating Your Debugging Configuration – PhpStorm – Confluence

去验证试试

把端口号和地址改为:

http://localhost:8888/wordpress/

Path to create validation script:/Users/crifan/dev/dev_root/crifan.com/mamp/wordpress/

Url to validation script:http://localhost:8888/wordpress/

然后点击验证

好像输出结果是正常了:

那就去给代码加上断点:

看看点击对应页面,是否可以在断点处停下来

会弹框让我确认要调试的文件是否正确:

然后的确可以实时调试啦:

找找,单步进入函数是什么快捷键:

Step Into是F7

Step Over是F8

按了F7后,果然进去sync函数了,然后再次按了个F8,则对应的此处的$wpdb的变量的值,就在后面显示出来了:

真心方便调试啊,非常不错,一万个赞!!!👍👍👍

然后鼠标移动到变量上,可以显示弹框显示实时的值:

注:

虽然此处已经成功调试,但还是参考解释的更清楚的:

How to debug PHP with PHPStorm & MAMP | Code Chewing Guides

去看看:

此处的那个开启监听调试的按钮,已经点击打开了:

【总结】

1.首先确保本地的PHP环境中Xdebug已开启,并且加上了对应的配置

此处是MAMP

(1)首先是去通过设置界面,看到PHP版本是7.1.6

PHP-》Standard version:7.1.6

然后也通过MAMP的phpinfo:

http://localhost:8888/MAMP/index.php?language=English&page=phpinfo

中看到:

extension_dir=/Applications/MAMP/bin/php/php7.1.6/lib/php/extensions/no-debug-non-zts-20160303/

从而到对应路径下:

/Applications/MAMP/bin/php/php7.1.6/lib/php/extensions/no-debug-non-zts-20160303/

也看到了有个xdebug.so

(2)再去MAMP中启用xdebug

找到PHP的配置文件:

/Applications/MAMP/bin/php/php7.1.6/conf/php.ini

把最下面的Xdebug取消注释,加上参数,变成:

[xdebug]
zend_extension=”/Applications/MAMP/bin/php/php7.1.6/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so”
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

重启MAMP,即可在phpinfo中看到Xdebug,确认已启用Xdebug。

2.然后去PHPStorm中点击开启监听后去验证调试是否正常后,即可正常打断点去调试了

(1)PHPStorm右上角有个 手机加上禁止的图标 点击后,即可开启监听端口功能(用于调试)

(2)然后去验证本地调试环境是否已OK

Run-》Web Server Debug Validation-》

此处是调试本地PHP环境,所以选择:Local Web Server or Shared Folder

  • Path to create validation script:填写本地wordpress所在路径

  • Url to validation script:填写本地wordpress首页地址

点击Validate后,如果都和我此处一样都是information,则表示都正常了:

(3)加上断点,可以去调试PHP代码了

然后就可以直接用鼠标点击某行的前面(行号的后面,可折叠线前面),去加上断点了。

然后就可以去运行对应的wordpress的页面了。

此时,PHPStorm就会监听到对应的Xdebug传递过来的信息,如果遇到断点的话,

第一次会弹框让你确认要调试的文件路径是否正确,点击确认即可:

之后就可以正常调试了。

关于具体调试的快捷键,可以去Run中找到。

注:

1.其他还有不清楚的,可以参考更加详细的:

How to debug PHP with PHPStorm & MAMP | Code Chewing Guides

2.对于调试远程服务器的话,逻辑是是类似的,估计只需要选择 Remote Web Server,配置合适参数就好了。

转载请注明:在路上 » 【已解决】Mac中如何实现实时调试本地wordpress中插件的php代码

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
55 queries in 0.221 seconds, using 9.94MB memory