• Swoole实战之手撸HttpServer框架 1 环境搭建 与配置swoole代码提示


    0 视频地址

    https://www.bilibili.com/video/BV14E411t7T4?p=1

    1 制作一个带swoole的镜像

    1.1 下载官方php镜像

    docker pull php:7.3-alpine3.8

    1.2 创建容器

    docker run -it --name test php:7.3-alpine3.8  sh

    1.3 进入容器

    默认已进入

    1.4 安装依赖的第三方包

    修改镜像

    
    
    echo http://mirrors.ustc.edu.cn/alpine/v3.7/main > /etc/apk/repositories && 
    echo http://mirrors.ustc.edu.cn/alpine/v3.7/community >> /etc/apk/repositories
    
    
    
    apk --no-cache add autoconf gcc g++ make openssl openssl-dev

    1.5 下载安装swoole

     pecl install swoole-4.3.1

     装错了也可以卸载重装

     pecl uninstall swoole-4.3.1
    View Code

     说明:

    View Code

    1.6 开启扩展

    
    
    docker-php-ext-enable swoole

    1.7 查看扩展

    php -m   

    1.8 退出容器

    ctrl+Q+P

    1.9 打包创建一个新镜像

    docker commit test swoole:4.3.1

    2 运行创建的镜像

    2.1 创建宿主机目录

    cd /home/ttt
    mkdir seckill

    2.2 创建工作目录

    D:seckillpro

    2.3 phpstorm

    2.3.1 打开项目

    2.3.2 配置同步

     

     

     设置自动上传代码

     

     2.3.3 创建composer

     

    后面的直接回车即可。

     2.3.4 创建PSR-4标准

    创建app文件夹

     

     

     "autoload":{
            "psr-4":{
                "App\":"app/"
            }
        }

    执行命令

    composer dump-autoload

    执行好以后会生成vendor文件夹

     

    将没有修改过的文件手动上传代码

    右键没有同步到服务器的代码

     

    2.4 创建并启动容器

    docker run -it --name swoole 
    -p 80:80 
    -v /home/ttt/seckill:/pro 
    swoole:4.3.1 sh

     冒号前面是宿主机目录 后面是容器目录

     可以看到容器内自动创建了pro目录

     

    3 安装swoole语法提示

     git clone git://github.com/wudi/swoole-ide-helper

     

     

     

     

    4 运行php

    D:seckillproindex.php

    <?php
    /**
     * Created by PhpStorm.
     * User: SUN
     * Date: 2021/10/24
     * Time: 0:18
     */
    use SwooleHttpRequest;
    use SwooleHttpResponse;
    $http  = new SwooleHttpServer("0.0.0.0",80);
    $http->on('request',function (Request $request,Response $response){
        $response->end("<h1>hello</h1>");
    });
    $http->start();

     

    搞定了

    参考

    https://www.cnblogs.com/8013-cmf/p/11811158.html

     

  • 相关阅读:
    nginx并发数设置_Nginx Ingress 高并发实践
    推荐一个国人开源的推荐系统
    异步并发利器:实际项目中使用CompletionService提升系统性能
    JDK中CompletableFuture类
    mysql日志redo log、undo log、binlog
    <a>标签下载文件 重命名失败 download 无效
    nginx geo黑名单
    夜莺微信报警-V3
    分布式事务的学习
    php实现AES/CBC/PKCS5Padding加密解密(又叫:对称加密)
  • 原文地址:https://www.cnblogs.com/polax/p/15440763.html
Copyright © 2020-2023  润新知