先安装ubuntu镜像
docker search ubuntu
docker run -dit -p 8099:80 --name my_swoole ubuntu
docker ps -a
7fd87532e3e8 是该容器的id 名字就是上面的my_swoole 下面我们进入容器 其实和ubuntu没两样
docker exec -it my_swoole /bin/bash
sudo apt-get update
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-8
#这边会选择一下该容器的时间 选上海对应的数字即可
sudo apt-get install software-properties-common
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-get -y install php7.1
装扩展的话像下面这样
sudo apt-get -y install php7.1-mysql
sudo apt-get install php7.1-fpm
apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
顺便我们在安装一下swoole的扩展
试了试pecl的方式 安装失败
那就编译吧
swoole 依赖nghttp2
先apt-get install wget
wget https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.gz
tar zxvf nghttp2-1.34.0.tar.gz
cd nghttp2-1.34.0
./configure
make && make install
mkdir -p ~/build && cd ~/build && rm -rf ./swoole-src && curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && tar zxvf ./tmp/swoole.tar.gz && mv swoole-src* swoole-src && cd swoole-src && phpize && ./configure --enable-coroutine --enable-openssl --enable-http2 --enable-async-redis --enable-sockets --enable-mysqlnd && make clean && make && make install
apt-get install vim
编译安装成功后,修改php.ini
加入
extension=swoole.so
通过php -m
或phpinfo()
来查看是否成功加载了swoole.so
,如果没有可能是php.ini
的路径不对,可以使用php --ini
来定位到php.ini
的绝对路径。