扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容介绍了“Docker下开发hyperf的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司专注于企业成都全网营销、网站重做改版、扶风网站定制设计、自适应品牌网站建设、H5响应式网站、商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为扶风等各大城市提供网站开发制作服务。
1. docker 使用
docker search 列出 hyperf 镜像
docker pull 下载镜像到本地
运行 镜像并且将目录挂载到当前目录下文件夹 内,同时依照 /bin/sh 的方式运行
进入到 hyperf-skeleton 目录,此目录是和本地挂靠的
$ docker search hyperf $ docker pull hyperf/hyperf $ docker run -v $pwd/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf $ cd hyperf-skeleton
2. 镜像容器运行后,并在容器内安装 composer
先下载 composer 进 docker 容器内
$ wget https://mirrors.aliyun.com/composer/composer.phar
3. 修改执行权限
此操作是为了解决 composer 不允许 root 权限执行的限制
同时为切换用户时,可以直接操作
生产环境下不推荐 777 授权方式
$ chmod -r 777 ./composer.phar
4. 移动 composer 至 bin 目录下面,并且改名为 composer
生产环境下不推荐 777 授权方式
$ mv composer.phar /usr/local/bin/composer
5. 修改 root 密码
同时因为不清楚 root 密码,我们直接先做好修改
密码需要重复输入两次,并且不会显示,请注意
$ passwd root
6. 可以查看一下是 linux 发行版版本(命令会有所区别)
官方的镜像为 linux 的 alpine
$ cat /etc/os-release
7. 建立一个指定 gid 的组
官方的镜像为 linux 的 alpine 和很多小伙伴用的 centos 命令会有所区别
如果是自己的建立的镜像,按照发行版本命令走就好了
$ addgroup -g 10001 -s www
8. 建立一个指定 uid 的用户
指定 shell, 让它属于指定的用户组。
$ adduser www -u 20001 -d -s -s /bin/bash -g www
9. 让新建的用户可以使用 su - 到 root 用户下,
$ chmod 4755 /bin/busybox
10. 切换至 www 用户执行 composer
su www 切换用户
whoami 查看当前用户
$ su www $ whoami
11. 将 composer 镜像设置为阿里云镜像,用于加速国内下载速度
当然是否使用阿里云镜像看个人需求(无广告嫌疑)
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
12. 通过 composer 安装 hyperf 骨架
安装时选择看个人需求哈!
$ composer create-project hyperf/hyperf-skeleton
13. 查看一下配置等信息
一般情况下,hyperf 官方的源镜像都是配置好的
以下只是提供一下命令
查看 swoole
$ php --ri swoole $ php -i | grep ini
14. php.ini 内写入一下信息
特别注意 off 中 o 为大写
extension="grpc.so" extension="redis.so" extension="swoole.so" swoole.use_shortname = 'off'
15. 存在兼容性问题的扩展
由于 hyperf 基于 swoole 协程实现
而 swoole 4 带来的协程功能是 php 前所未有的,所以与不少扩展都仍存在兼容性的问题。
以下扩展(包括但不限于)都会造成一定的兼容性问题,不能与之共用或共存:
xhprof
xdebug
blackfire
trace
uopz
“Docker下开发hyperf的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流