最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

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

Mac crifan 3915浏览 0评论

折腾:

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

期间,需要确保本地PHP环境中,已启用了Xdebug。

此处先去看看,MAMP中的Apache是否已启用Xdebug,结果没有:

但是无意间发现了一个:

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

现在要去:

mamp mac enable xdebug

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

但是此处没有看到PHP选项中有配置参数啊:

Quick Tip – Enabling XDebug in MAMP for OSX – Sup-a-Dillie-O

好像直接修改参数就可以

/Applications/MAMP/conf/

此处找到了当前的PHP的配置文件:

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

然后去搜Xdebug,发现都以及ing配置好了,只不过默认注释掉了

所以去去掉注释,启用:

[xdebug]
zend_extension=”/Applications/MAMP/bin/php/php7.1.6/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so”

然后重启MAMP,再去phpinfo中看看,是否有xdebug:

然后就有了:

   with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans

xdebug

xdebug support
enabled
Version 
2.5.0 
IDE Key 
crifan 
Supported protocols
Revision
DBGp – Common DeBuGger Protocol 
$Revision: 1.145 $ 
Directive
Local Value
Master Value
xdebug.auto_trace
Off
Off
xdebug.cli_color
0
0
xdebug.collect_assignments
Off
Off
xdebug.collect_includes
On
On
xdebug.collect_params
0
0
xdebug.collect_return
Off
Off
xdebug.collect_vars
Off
Off
xdebug.coverage_enable
On
On
xdebug.default_enable
On
On
xdebug.dump.COOKIE
no value
no value
xdebug.dump.ENV
no value
no value
xdebug.dump.FILES
no value
no value
xdebug.dump.GET
no value
no value
xdebug.dump.POST
no value
no value
xdebug.dump.REQUEST
no value
no value
xdebug.dump.SERVER
no value
no value
xdebug.dump.SESSION
no value
no value
xdebug.dump_globals
On
On
xdebug.dump_once
On
On
xdebug.dump_undefined
Off
Off
xdebug.extended_info
On
On
xdebug.file_link_format
no value
no value
xdebug.force_display_errors
Off
Off
xdebug.force_error_reporting
0
0
xdebug.halt_level
0
0
xdebug.idekey
no value
no value
xdebug.max_nesting_level
256
256
xdebug.max_stack_frames
-1
-1
xdebug.overload_var_dump
2
2
xdebug.profiler_aggregate
Off
Off
xdebug.profiler_append
Off
Off
xdebug.profiler_enable
Off
Off
xdebug.profiler_enable_trigger
Off
Off
xdebug.profiler_enable_trigger_value
no value
no value
xdebug.profiler_output_dir
/var/tmp/
/var/tmp/
xdebug.profiler_output_name
cachegrind.out.%p
cachegrind.out.%p
xdebug.remote_addr_header
no value
no value
xdebug.remote_autostart
Off
Off
xdebug.remote_connect_back
Off
Off
xdebug.remote_cookie_expire_time
3600
3600
xdebug.remote_enable
Off
Off
xdebug.remote_handler
dbgp
dbgp
xdebug.remote_host
localhost
localhost
xdebug.remote_log
no value
no value
xdebug.remote_mode
req
req
xdebug.remote_port
9000
9000
xdebug.scream
Off
Off
xdebug.show_error_trace
Off
Off
xdebug.show_exception_trace
Off
Off
xdebug.show_local_vars
Off
Off
xdebug.show_mem_delta
Off
Off
xdebug.trace_enable_trigger
Off
Off
xdebug.trace_enable_trigger_value
no value
no value
xdebug.trace_format
0
0
xdebug.trace_options
0
0
xdebug.trace_output_dir
/var/tmp/
/var/tmp/
xdebug.trace_output_name
trace.%c
trace.%c
xdebug.var_display_max_children
128
128
xdebug.var_display_max_data
512
512
xdebug.var_display_max_depth
3
3

然后再去:

加上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后,即可。

【总结】

MAMP此处已经默认包含Xdebug模块了,只不过默认是没有开启而已。

此处是通过PHP的配置:

中得知当前PHP版本是7.1.6

然后再去打开对应的:

/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页面:

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

中看到Xdebug了,表明已启用Xdebug。

注:

1.上述的zend_extension中的xdebug.so,其实也可以通过phpinfo中的extension_dir的:

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

而找到。

2.后来发现这个帖子解释的更清楚:

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

转载请注明:在路上 » 【已解决】Mac的MAMP中确保启用Xdebug插件

发表我的评论
取消评论

表情

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.193 seconds, using 22.12MB memory