美文网首页
docker使用之php-fpm+apache多容器的xdebu

docker使用之php-fpm+apache多容器的xdebu

作者: 程序猿阿乐 | 来源:发表于2020-04-07 17:28 被阅读0次
    PHP.and.MySQL.Create.Modify.Reuse
    PHP&MySQL范例精解_创建、修改、重用-docker环境搭建-6.补充,准备装配xdebug,并
    

    安装xdebug

    docker使用之php-fpm+apache多容器的xdebug和phpstorm的配置

    php-5.6-fpm-gd的镜像的构建过程可以看

    https://blog.csdn.net/virhuiai/article/details/105345213

    https://www.jianshu.com/p/abfd3d183d5f

    在之前php-5.6-fpm-gd的基础上,配置xdebug

    创建Dockerfile放到Dockerfile-php-5.6-fpm-gd-xdebug目录下

    FROM php-5.6-fpm-gd
    RUN pecl install xdebug-2.5.0 && docker-php-ext-enable xdebug && mv /Dockerfile /Dockerfile.php-5.6-fpm-gd 
    COPY Dockerfile /
    # cd Dockerfile-php-5.6-fpm-gd-xdebug
    # docker build -t php-5.6-fpm-gd-xdebug .
    

    生成镜像php-5.6-fpm-gd-xdebug:

    cd Dockerfile-php-5.6-fpm-gd-xdebug
    docker build -t php-5.6-fpm-gd-xdebug .
    

    容器中的xdebug配置

    启动临时容器

    docker run -d --rm \
    --name virhuiai-php-5.6-fpm-gd-xdebug \
    --net=virhuiai_nw \
    php-5.6-fpm-gd-xdebug
    

    将xdebug的配置复制到docker之外,这里先临时放个位置:

    docker cp virhuiai-php-5.6-fpm-gd-xdebug:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini /Volumes/TmpDownload
    

    修改内容,添加:

    xdebug.remote_enable = On
    xdebug.remote_handler = dbgp
    xdebug.remote_host = host.docker.internal 
    xdebug.remote_port = 9001
    xdebug.remote_log = /var/log/php/xdebug.log
    

    后面phpstorm使用的是PHP Web Page的方式来调试,不用配xdebug.idekey

    启动相应的容器并准备一个php文件

    docker stop virhuiai-php-5.6-fpm-gd-xdebug
    
    
    docker run -d --rm \
    --name virhuiai-php-fpm56 \
    --net=virhuiai_nw \
    -v /Volumes/TmpDownload/phptmp/:/var/www/html/ \
    -v /Volumes/TmpDownload/docker-php-ext-xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    php-5.6-fpm-gd-xdebug
    
    docker run -d --rm \
    -p 80:80 \
    --name virhuiai-apache \
    --net=virhuiai_nw \
    -v /Users/jjkkll/Documents/2020-book-read/7302195625/docker/httpd-2.4.37-conf/conf:/usr/local/apache2/conf  \
    -v /Volumes/TmpDownload/phptmp/:/usr/local/apache2/htdocs \
    httpd:2.4.37-alpine
    

    这儿,/Volumes/TmpDownload/phptmp/作为临时的测试xdebug是否有效的目录,后期可以自由更改

    可以创建index.php文件并用phpinfo()看输出的结果确定xdebug配置完毕

    生成一个/xdebug/demo.php文件,并在ide中打断点

    <?php
    echo "1";
    echo "2";
    echo "3";
    
    打断点

    安装Chrome浏览器插件xdebug helper

    略...

    phpStorm配置

    进入设置,设置PHP Interpreter,选择docker,并选用我们之前生成的镜像

    设置PHP Interpreter

    下面就是配置后的界面

    image.png

    应用保存后继续,将之前的90001端口配置上

    image.png

    选择IDE工具栏的“Add Configuration”,并先创建PHP Web Page

    image.png

    Server右边的…点开创建一个,并设置好映射目录

    image.png

    StartURL可以输入刚刚的路径/xdebug/demo.php,保存,点击甲虫图标就可以

    image.png

    下方区域也能看相应的值

    image.png

    测试ok,正式要使用的时候再修改相应的配置就好

    相关文章

      网友评论

          本文标题:docker使用之php-fpm+apache多容器的xdebu

          本文链接:https://www.haomeiwen.com/subject/xownphtx.html