如何在 phpstorm 中启用 Xdebug
How to enable Xdebug in phpstorm
已更新
我正在尝试在 PhpStorm 中配置 xdebug。我 运行 phpinfo()
并且我可以看到 xdebug 版本,IDE 密钥并且它已启用。
Loaded Configuration File : /etc/php/7.0/cli/php.ini
但是在 php.ini
文件中,没有 [xdebug]
部分 但是我在 /etc/php/7.0/cli/conf.d
文件夹中找到了 20-xdebug.ini
文件。 (我假设这是我应该编辑的配置)
它只包含一行:
zend_extension=xdebug.so
没有端口号,enable/disable。配置 xdebug 的下一步是什么?
通常,所有扩展的配置文件都放在一个名为 conf.d
.
的目录中
另外,查看包含 'Additional .ini files parsed' 或 'Scan this dir for additional .ini files' 的行。您可以在下面看到它如何寻找我的环境(和平的 php -i
输出):
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed =>
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mcrypt.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
线索 1. 确认您的系统上没有 PHP 运行 的两个版本。有时,如果您使用包管理器安装新的 PHP,而不是 OS.
附带的现有包,有时会发生这种情况
线索 2. 重启 "brew services restart php56" 或 apache2(apachectl start/stop)
我安装 xdebug 的步骤:
A. 用包管理器安装 xdebug brew install homebrew/php/php56-xdebug
B. 检查加载列表 ini-files 和 php --ini
控制台输出:
Configuration File (php.ini) Path: /usr/local/etc/php/5.6
Loaded Configuration File: /usr/local/etc/php/5.6/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.6/conf.d/ext-gmagick.ini,
/usr/local/etc/php/5.6/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.6/conf.d/ext-imagick.ini,
/usr/local/etc/php/5.6/conf.d/ext-intl.ini,
/usr/local/etc/php/5.6/conf.d/ext-ioncubeloader.ini,
/usr/local/etc/php/5.6/conf.d/ext-mailparse.ini,
/usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.6/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.6/conf.d/ext-oauth.ini,
/usr/local/etc/php/5.6/conf.d/ext-opcache.ini,
/usr/local/etc/php/5.6/conf.d/ext-tidy.ini,
/usr/local/etc/php/5.6/conf.d/ext-uploadprogress.ini,
/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
C. php -m | grep xdebug
- 如果您安装了 xdebug 模块,您将在输出中看到 "xdebug"。
D. 验证指向 xdebug.so 的 "zend_extension=" 线。如果您使用包管理器安装,应该已经存在了。
E. 检查 xdebug 的调整设置,我的是:
[xdebug]
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
xdebug.remote_port=9089 // <-- same in IDE
xdebug.default_enable=1
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.max_nesting_level = 1000
F. 在 PhpStorm 中设置端口号为 9089 并且 select 可以接受外部连接:"X"
希望对您有所帮助。 (我使用的是 mac,但 Linux 或 Win 是一样的)
已更新
我正在尝试在 PhpStorm 中配置 xdebug。我 运行 phpinfo()
并且我可以看到 xdebug 版本,IDE 密钥并且它已启用。
Loaded Configuration File : /etc/php/7.0/cli/php.ini
但是在 php.ini
文件中,没有 [xdebug]
部分 但是我在 /etc/php/7.0/cli/conf.d
文件夹中找到了 20-xdebug.ini
文件。 (我假设这是我应该编辑的配置)
它只包含一行:
zend_extension=xdebug.so
没有端口号,enable/disable。配置 xdebug 的下一步是什么?
通常,所有扩展的配置文件都放在一个名为 conf.d
.
另外,查看包含 'Additional .ini files parsed' 或 'Scan this dir for additional .ini files' 的行。您可以在下面看到它如何寻找我的环境(和平的 php -i
输出):
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed =>
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mcrypt.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
线索 1. 确认您的系统上没有 PHP 运行 的两个版本。有时,如果您使用包管理器安装新的 PHP,而不是 OS.
附带的现有包,有时会发生这种情况线索 2. 重启 "brew services restart php56" 或 apache2(apachectl start/stop)
我安装 xdebug 的步骤:
A. 用包管理器安装 xdebug brew install homebrew/php/php56-xdebug
B. 检查加载列表 ini-files 和 php --ini
控制台输出:
Configuration File (php.ini) Path: /usr/local/etc/php/5.6
Loaded Configuration File: /usr/local/etc/php/5.6/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.6/conf.d/ext-gmagick.ini,
/usr/local/etc/php/5.6/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.6/conf.d/ext-imagick.ini,
/usr/local/etc/php/5.6/conf.d/ext-intl.ini,
/usr/local/etc/php/5.6/conf.d/ext-ioncubeloader.ini,
/usr/local/etc/php/5.6/conf.d/ext-mailparse.ini,
/usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.6/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.6/conf.d/ext-oauth.ini,
/usr/local/etc/php/5.6/conf.d/ext-opcache.ini,
/usr/local/etc/php/5.6/conf.d/ext-tidy.ini,
/usr/local/etc/php/5.6/conf.d/ext-uploadprogress.ini,
/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
C. php -m | grep xdebug
- 如果您安装了 xdebug 模块,您将在输出中看到 "xdebug"。
D. 验证指向 xdebug.so 的 "zend_extension=" 线。如果您使用包管理器安装,应该已经存在了。
E. 检查 xdebug 的调整设置,我的是:
[xdebug] zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
xdebug.remote_port=9089 // <-- same in IDE
xdebug.default_enable=1
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.max_nesting_level = 1000
F. 在 PhpStorm 中设置端口号为 9089 并且 select 可以接受外部连接:"X"
希望对您有所帮助。 (我使用的是 mac,但 Linux 或 Win 是一样的)