php - 使用 PhpStorm 和 Xdebug 调试 Symfony REST API

标签 php symfony docker phpstorm xdebug

我正在尝试为 PhpStorm 设置 xdebug。

设置如下:

  • Symfony 应用程序在 Docker 容器中
  • 我将其用于 REST API 调用

到目前为止我尝试过的:

  • 已安装 Xdebug - reference

    RUN pecl install xdebug
    RUN docker-php-ext-enable xdebug
    

然后运行命令:

echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.idekey = PHPSTORM" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.default_enable = 0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.remote_enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.remote_autostart = 0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.remote_connect_back = 0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.profiler_enable = 0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
echo "xdebug.remote_host = "docker.for.mac.host.internal"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

如下图所示设置 PhpStorm(除了端口是 8090,因为我的 Web 应用程序在该端口上运行。我使用 localhost:8090/ 访问本地网站):

enter image description here

现在,当我进行 API 调用时,没有任何反应。它不会在断点处停止。

有人帮我解决这个问题吗?

PS:我正在使用 Xdebug Helper chrome 插件。

最佳答案

这是我在 Docker LAMP 堆栈中使用的设置

https://github.com/delboy1978uk/lamp

xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp

xdebug.remote_port=9001
xdebug.remote_autostart=0

xdebug.remote_connect_back=1
xdebug.idekey="PHPSTORM"

xdebug.max_nesting_level = 250

我用的是PHP-FPM,所以9000端口已经被占了,我改成了9001,试一试,应该可以的!

关于php - 使用 PhpStorm 和 Xdebug 调试 Symfony REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51420145/

相关文章:

Symfony2 : in Twig, 使用渲染功能通过请求

php - Symfony 2 验证表单的问题

python - NGINX 在 Dockered Django 项目中找不到静态文件

docker - 在 ECS 上使用 systemd 运行 docker centos 镜像

java - SOLR 查询在字段开头时无法正常工作

php - 更改放置在 DIV 中的 recaptcha 表单的背景颜色

php - 用户 'testweb' 访问被拒绝 @'localhost' 本地主机中的 drupal 站点配置

php - 如果sql数据库存在

php - 为什么我的 Symfony 2 缓存暖机被多次调用?

docker - Docker Container中的“dotnet run”导致无法访问的URL