phpstorm 调试配置感觉 很麻烦,踩了很多的坑,不说废话了,直接上配置

参考文章 :
https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html#configuring-xdebug-docker

这是我的PHP.ini配置

[xdebug]
;启用性能检测分析
xdebug.profiler_enable=off
;启用代码自动跟踪
xdebug.auto_trace=off
;允许收集传递给函数的参数变量
xdebug.collect_params=on
;允许收集函数调用的返回值
xdebug.collect_return=on
;调试端口
xdebug.show_exception_trace = On ;开启异常跟踪
xdebug.remote_autostart = Off ;开启远程调试自动启动
xdebug.remote_enable = On ;开启远程调试
xdebug.remote_port = 9003 
xdebug.idekey=PHPSTORM
xdebug.default_enable=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.remote_connect_back=0
xdebug.remote_host=host.docker.internal  #phpstorm 官方文档上面有写

这里是dockerfile 配置

FROM php:7.3-fpm
RUN mkdir -p /data/www \
    && cd /usr/local/bin \
    && php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" \
    && php composer-setup.php \
    && php -r "unlink('composer-setup.php');" \
    && mv composer.phar composer \
    && chmod a+x composer \
    && pecl install -o -f redis \
    && rm -rf /tmp/pear \
    && docker-php-ext-enable redis \
    && docker-php-ext-install pdo pdo_mysql mysqli opcache \
    && docker-php-ext-install mbstring \
    && pecl install -o -f https://pecl.php.net/get/xdebug-2.9.8.tgz  \  #这里建议用 xdebug2,不要用xdebug3,因为字段名改了,有可能出现未知情况,笔者踩了很多次坑,没成功,还是老老实实用2
    && docker-php-ext-enable xdebug \

nginx 的 dockerfile

FROM nginx
RUN mkdir -p /data/www
server {
  listen       80;
  server_name  www.hc.com;
  root /data/www/项目目录;

  client_max_body_size 300m;

        location ~ .+\.php($|/) {
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO               $fastcgi_path_info;
            fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_pass    php:9000;
            include         fastcgi_params;
        }
	
	location ~ \.env($|/) {
              return 403;
        }
}

docker-composer配置

#yaml 配置实例
version: '3.7'
nginx:
    build: ./nginx
    container_name: nginx
    #image: nginx
    privileged: true
    working_dir: /data/www
    volumes:
       - ../../../php/:/data/www:rw
       - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw
       - ./nginx/conf/conf.d/:/etc/nginx/conf.d:rw
       - ./nginx/logs/:/var/log/nginx:rw
    ports:
       - "80:80"
       - "443:443"
php:
    build: ./php
    container_name: php73
    #image: php:7.3-fpm
    privileged: true
    working_dir: /data/www/项目目录
    volumes:
       - ./php/conf/php.ini:/usr/local/etc/php/php.ini
       - ./php/log/xdebug.log:/tmp/xdebug.log
       - ../../../php/:/data/www:rw #  “../../../php” 是win10 上的 实际目录,这里用的相对路径
    ports:
       - "9000:9000"
  #     - "9001:9001"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注意:一定要勾选这个选项
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
配置调试文件
在这里插入图片描述

成功运行,
在这里插入图片描述
web 调试方法,请自行百度

谢谢大家观看

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐