关于docker的安装可以看我上一篇的博客
docker搭建php环境
Hyperf可以直接访问端口,不用通过Nginx
第一步拉取php镜像
docker pull php:7.2-fpm
冒号后面跟的是版本号
第二步,实例php容器,并映射端口号,设置挂载文件 (把容器的/www的文件夹挂载到宿主机的/www/html文件夹下,首先确保你拥有/www/html文件夹)
docker run d -p 9501:9501--name=h_php \
-v ~/www/html:/www \
php:7.2-fpm
进入容器中
docker exec -it h_php /bin/bash
接下来安装swoole扩展和redis扩展,我上篇博客里面也讲的比较详细了
然后关闭swoole.use_shortname
echo "swoole.use_shortname =Off " >> /usr/local/etc/php/php.ini
之后在容器中安装composer
apt-get update
apt-get install composer
拉取hyperf代码
composer create-project hyperf/hyperf-skeleton
报了这个错误,因为没有zip unzip,安装完,再执行composer就可以了
apt-get install zip unzip
php bin/hyperf /bin/bash
启动之后,就可了
关于mysql连接,和redis连接,我上篇博客也写了相关的,把宿主机的端口和容器的端口映射在一起之后,直接访问宿主机的端口,即可连接。
在你创建表的时候会报
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200319103620192.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm
这是因为缺少pdo_mysql扩展,windows可以直接把注释打开,linux下,必须安装pdo_mysq扩展
docker-php-ext-install pdo pdo_mysql
vim php.ini 打开注释即可 extension=pdo_mysql