我无法让我的PhpStorm IDE与xdebug协同工作。
我目前的设置如下:
- PhpStorm 2017.1.4
- MacOS Sierra 10.12.5
以下是我遵循的步骤。
我使用以下命令安装了php。我添加了postgres参数,因为我后来需要连接到PostgreSQL数据库。
brew install php71 --with-postgresql
下一步是使用以下命令安装XDebug。
brew install php71-xdebug
因此,我从文档(https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html)中得出的下一步是使用以下内容编辑php.ini文件:
[Xdebug]
zend_extension="<path to php_xdebug.dll>"
xdebug.remote_enable=1
xdebug.remote_port="<the port for Xdebug to listen to>" (the default port is 9000)
xdebug.profiler_enable=1
xdebug.profiler_output_dir="<AMP home\tmp>"
关于这些字段和XDebug的一些问题。
- 我猜想XDebug是在
remote_port
上运行的某种服务,PhpStorm使用它来写入数据?还是你必须指定要测试的应用程序运行的端口? - “profiler”是什么?输出目录可以是我选择的任何内容吗?
这是我认为应该的php.ini文件:
[xdebug]
zend_extension="/usr/local/Cellar/php71-xdebug/2.5.4/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/usr/tmp"
以上就是php.ini的所有内容。接下来我需要检查我的PhpStorm IDE的设置,具体如下:
所以这是我的设置。在我的项目中,我只有一个index.php
文件,其中包含 <?php echo phpinfo(); ?>
。我只需单击 Chrome 图标,它就会直接在浏览器中打开,以检查是否存在 XDebug。我看到以下结果。
我想到自己:好吧,让我们尝试一些调试。所以我将我的index.php
文件更改为以下内容:
$i = 2;
$j = $i + 2;
echo $j
我在第二行设置了断点,但是当我运行它时,它从未停在断点处。需要做什么或者我的配置有误吗?
remote_host
:remote_port
并将数据发送到那里。因此,PHPStorm在这里是一个监听XDebug连接的服务。 - Sergei Kasatkinxdebug.idekey=PHPStorm
和xdebug.remote_mode=req
,然后开始在 PHP Storm 中监听 PHP 调试连接。同时还需要从浏览器启动 Xdebug 助手。 - Edwin