windows下 docker + hyperf + yasd + phpstorm开发调试

参考 Windows 10 下使用 PHPStorm 开发/调试, Docker + Swoole + XDebug + Hyperf

1、docker安装php环境及扩展swoole,yasd

FROM php:8.0.26-fpm-alpine

ARG PEAR_DOWNLOAD_DIR=/tmp/pear/download/
#须先将需要的扩展下载到ext文件夹中
COPY ext/* ${PEAR_DOWNLOAD_DIR}

RUN set -ex \
&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
#&& pecl channel-update pecl.php.net \
&& apk add --no-cache autoconf gcc g++ make libc-dev automake libffi-dev openssl-dev libxpm-dev zlib-dev libzip-dev libmcrypt-dev unzip curl-dev c-ares-dev git\
&& apk add --no-cache libpng-dev freetype-dev libjpeg-turbo-dev libwebp-dev \
&& pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes"' ${PEAR_DOWNLOAD_DIR}swoole-4.8.12.tgz \
&& pecl install ${PEAR_DOWNLOAD_DIR}redis-5.3.7.tgz \
&& docker-php-ext-enable redis swoole \
&& echo "swoole.use_shortname = 'Off'" >> /usr/local/etc/php/conf.d/docker-php-ext-swoole.ini \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install bcmath \
&& docker-php-ext-install pcntl \
&& docker-php-ext-install sockets \
&& docker-php-ext-install zip \
&& docker-php-ext-enable opcache \
&& cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini \
#移除无用安装包
#&& apk del gcc g++ make automake autoconf \

#phpize 命令不存在时安装phpize \
#    yum install php-devel ## centos
#    sudo apt-get install php-dev  ## ubuntu
#    apk add php-dev ## debain

# 安装调试工具 ysad \
&& apk add boost-dev openssh-server \
#&& git clone https://github.com/swoole/yasd.git /tmp/yasd \
#&& cd /tmp/yasd  \
&& cd /tmp/pear/download \
&& unzip yasd.zip \
&& cd /tmp/pear/download/yasd \
&& phpize --clean  \
&& phpize  \
&& ./configure \
&& make clean && make && make install \
&& docker-php-ext-enable yasd \
&& echo "yasd.debug_mode=remote" >> /usr/local/etc/php/conf.d/docker-php-ext-yasd.ini \
&& echo "yasd.remote_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-yasd.ini \
&& echo "yasd.remote_port=9100" >> /usr/local/etc/php/conf.d/docker-php-ext-yasd.ini \
&& echo "yasd.open_extended_info=1" >> /usr/local/etc/php/conf.d/docker-php-ext-yasd.ini \
&& echo "yasd.log_level=0" >> /usr/local/etc/php/conf.d/docker-php-ext-yasd.ini \
#phpstorm调试需要用到 PHP_IDE_CONFIG 配置以映射本地文件 serverName=设置》php>服务器(设置的服务器名)
&& export PHP_IDE_CONFIG="serverName=myserver" \
# 全局安装 composer 并更换源地址
&& php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/local/bin/composer \
&& echo "export COMPOSER_ALLOW_SUPERUSER=1" >> /etc/profile \
&& source /etc/profile \
&& composer config -g repo.packagist composer https://packagist.phpcomposer.com

EXPOSE 9000 9501 9502 9503
#创建容器网络 
docker network create -d bridge lnmp-net 
#运行php容器 
docker run -v F:\WWW:/var/www/html:cached --network=lnmp-net -p 9000:9000 -p 9501:9501 -p 9502:9502 -p 9503:9503 --name lnmp-php8.0 -d yogawang/myphp:8.0.26-fpm-alpine

2、进入docker添加环境变量PHP_IDE_CONFIG

export PHP_IDE_CONFIG="serverName=myserver"

3、配置PhpStorm调试设置

phpstom调试端口 和 和yasd.remote_port中的一致

4、phpstorm服务器代码映射

这里的名称myserver和前面第2步的环境变量PHP_IDE_CONFIG一致

5、开启服务调试

#-e为yasd必备参数

php -e ./bin/hyerf.php start

如果开启时有报错说ide拒绝连接,可以重启电脑试试

有配置首行中断时出现按F9跳过后出现已连接

到这里就连接上可以开始调试了

要注意的是打断点的位置需要在/runtime/container/proxy/下的文件中

hyperf真正运行的代码就是在proxy.php里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于在Windows上安装Docker,您可以按照以下步骤进行操作: 1. 首先,确保您的Windows版本为Windows 10或更高版本,并且系统支持虚拟化技术。您可以使用以下命令检查是否支持虚拟化: ```bash systeminfo | find "虚拟化" ``` 如果输出中包含“虚拟化已启用”,则表示您的系统支持虚拟化。 2. 下载并安装Docker Desktop for Windows。您可以从Docker官方网站(https://www.docker.com/products/docker-desktop)下载安装程序。 3. 运行安装程序并按照提示进行安装。安装过程中可能需要重启计算机。 4. 安装完成后,启动Docker Desktop。它将在您的任务栏中显示一个小鲸鱼图标。 5. 单击小鲸鱼图标,选择“Settings”(设置)。在“General”(常规)选项卡中,确保“Expose daemon on tcp://localhost:2375 without TLS”(在没有TLS的情况下在tcp://localhost:2375上公开守护程序)选项已选中。 6. 点击“Apply & Restart”(应用并重启),以使更改生效。 7. 完成后,您应该能够在命令行或PowerShell中运行docker命令,并且Docker服务已经成功启动。 对于在Windows上安装Git,您可以按照以下步骤进行操作: 1. 下载Git for Windows安装程序。您可以从Git官方网站(https://git-scm.com/downloads)下载安装程序。 2. 运行安装程序并按照提示进行安装。在安装选项中,建议选择默认选项,除非您有特定的要求。 3. 完成后,您可以在命令行或Git Bash中运行git命令。 对于在Windows上安装Jenkins,您可以按照以下步骤进行操作: 1. 下载Jenkins的Windows安装程序(war文件)。您可以从Jenkins官方网站(https://www.jenkins.io/download/)下载最新版本的war文件。 2. 确保您已经安装了Java Development Kit(JDK)。您可以从Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk8-downloads.html)下载并安装JDK。 3. 打开命令提示符或PowerShell,并导航到您保存jenkins.war文件的目录。 4. 运行以下命令启动Jenkins: ```bash java -jar jenkins.war ``` 5. 完成后,您可以访问http://localhost:8080来打开Jenkins Web界面,并按照提示进行初始化设置。 对于在Windows上安装Harbor,Harbor是一个容器镜像注册表和存储库,用于存储和分发Docker镜像。您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker。您可以按照上面的步骤进行安装。 2. 下载Harbor的安装程序。您可以从Harbor的GitHub存储库(https://github.com/goharbor/harbor/releases)下载最新版本的离线安装程序。 3. 解压缩下载的安装程序,并进入解压后的目录。 4. 修改`harbor.yml`配置文件,根据您的需求进行配置,例如修改`hostname`、`http`、`https`等选项。 5. 运行以下命令安装Harbor: ```bash ./install.sh ``` 6. 完成后,您可以通过浏览器访问Harbor的Web界面,并根据需要配置用户、项目和存储库等。 这些是在Windows上安装Docker、Git、Jenkins和Harbor的基本步骤。请根据您的实际情况和需求进行适当的调整和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值