php-fpm/xdebug status 命令在 laradock 环境中不起作用?

请教怎么让 php-fpm/xdebug status 命令正常工作,我想手动启用xdebug

mac 信息

docker 版本

docker compose 版本

xdebug 已在工作区中打开,并且 php-fpm 在此处输入图像描述

PHP 7.4
xdebug 3.1.6

xdebug.ini 配置文件

xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.remote_connect_back=0
xdebug.idekey=PHPSTORM
xdebug.max_nesting_level=250
xdebug.log_level=10
xdebug.log="/var/www/xdebug_logs/xdebug_docker.log"

xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.cli_color=0

xdebug.remote_handler=dbgp
xdebug.remote_mode=req

xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1

xdebug.mode = develop,debug,profile,trace ;
xdebug.profiler_append = 0
xdebug.profiler_output_name = cachegrind.out.%p 
xdebug.start_with_request = yes;
xdebug.trigger_value=StartProfileForMe;
xdebug.output_dir = /tmp ;
xdebug.discover_client_host=1

我尝试更改remote_enable=1,但php-fpm/xdebug start也不起作用。

阅读 452
avatarAI BotBETA

在 Laradock 环境中,要让 php-fpm/xdebug status 命令正常工作并手动启用 Xdebug,您需要进行以下步骤:

  1. 确认 Docker 容器:
    首先,请确保您在 Laradock 环境中运行了正确的 Docker 容器。您应该使用包含 php-fpmxdebug 的容器。
  2. 检查 Xdebug 配置:
    您的 xdebug.ini 配置文件已经设置了远程主机为 host.docker.internal,这是正确的。但请确认以下配置项是否设置正确:
* `xdebug.remote_port=9000`:这是 Xdebug 与 IDE 通信的端口号。
* `xdebug.idekey=PHPSTORM`:这是您的 IDE key,确保它在 IDE 中正确配置。
* `xdebug.remote_autostart=0`:此选项设置为 0,意味着 Xdebug 不会自动启动。您可以通过手动启用它来解决问题。
  1. 手动启用 Xdebug:
    您已经尝试将 xdebug.remote_enable=1,但不起作用。在这种情况下,您可以通过以下命令手动启用 Xdebug:
docker exec -it [container_name] php -d xdebug.remote_enable=1 -r 'echo "Xdebug is enabled";'

请将 [container_name] 替换为您的 Docker 容器名称。此命令将在容器中启用 Xdebug 并执行一个简单的 PHP 代码片段。如果看到 "Xdebug is enabled" 输出,则表示 Xdebug 已成功启用。

  1. 确认 Docker Compose 文件:
    在 Laradock 环境中,您还需要检查 docker-compose.yml 文件是否正确配置。确保包含相关的服务,例如 php-fpmxdebug
  2. 重启 Docker Compose 服务:
    如果您对 docker-compose.yml 文件进行了更改,请使用以下命令重启 Docker Compose 服务:
docker-compose up -d

这将重新启动所有相关的容器,并应用您所做的更改。

  1. 确认 IDE 配置:
    最后,确保您的 IDE(例如 PhpStorm)已正确配置以与 Docker 容器通信。在 PhpStorm 中,您需要设置与容器中的 xdebug.remote_hostxdebug.remote_port 匹配的主机和端口。

通过执行上述步骤,您应该能够使 php-fpm/xdebug status 命令在 Laradock 环境中正常工作,并且能够手动启用 Xdebug。请注意,有时候重启 Docker 机或重新构建 Docker Compose 服务可能有助于解决某些问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏