docker - 如何设置 xdebug / docker / drupal 堆栈?
问题描述
我的目标是能够调试一段棘手的 Drupal 8 代码。我对 docker 的经验非常有限(初级)。我有一个数据库 docker 容器正在运行,我像这样旋转:
docker run --name drupalMulti-database -p 3306:3306 -v `pwd`:/var/lib/mysql -d percona:latest
然后,我的 drupal 8 docker 容器像这样连接到上面的容器:
docker run -e XDEBUG_CONFIG="remote_host=10.1.2.74" --name drupalMulti -p 8484:80 -p 8453:443 --link drupalMulti-database:mysql -v `pwd`:/var/www/html/ -d gitlab.OUR-COMPANY-NAME.com:4999/dev/PATH-TO-OUR-DRUPAL-CONTAINER
我想知道如何配置 PhpStorm 或 VsCode 以与 xdebug 一起正常工作,这样我就可以调试我的 drupal 代码:设置断点、单步执行代码等?假设我无权修改现有的 docker 镜像,但我的 Drupal 镜像已经预装了 xdebug。
(运行 Drupal 8 / php 7.2 / mysql 5.7)
解决方案
如果 docker 在本地运行,请尝试设置xdebug.remote_host
为。host.docker.internal
您还需要将项目的副本存储在本地,以便能够通过 PhpStorm 对其进行调试。请参阅https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html#configuring-xdebug-docker和https://www.jetbrains.com/phpstorm/documentation/debugging/
推荐阅读
- laravel - 检查侦听器返回值并在 laravel 中执行操作是否可以接受?
- python - 在 for 循环中处理浮点数的元组
- r - 使用ggplot获取带有百分比标签的条形图的最有效方法
- excel - 当另一个单元格为空白时,自动清除一个单元格的内容
- r - 在 dplyr 中嵌套 .key 已弃用,改用什么
- okhttp - 互联网不可用时 Okhttp 拦截器空指针异常问题
- reactjs - ternery 操作每次都返回 false - 反应
- objective-c - MacOS 11:NSMenu 3px 太小
- javascript - React JS 和 Node API 调用优化以获得更好的性能
- python - .dat 文件中的 Dlib 选项