因本地的环境是Mac,更新php版本的时候出错了,正好用docker实践一波,接下来,我们就开始了
1.拉取php 7.3.5-fpm 镜像
docker pull php:7.3.5-fpm
2.启动php镜像和本地目录的映射
docker run --name myphp -v ~/Public/www:/var/www/html -d php:7.3.5-fpm
-v ~/Public/www 代表本地目录 /var/www/html 是docker中的目录
3.编辑本地的nginx配置
vim /usr/local/etc/nginx/nginx.conf
修改server中的root目录为 /var/www/html,修改后的server如下
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root /var/www/html;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
4.重启本地nginx环境,访问127.0.0.1/index.php,用心去感受phpinfo吧
5.安装php-redis扩展
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1.3 /usr/src/php/ext/redis
docker-php-ext-install redis
6.安装gd扩展
apt update #更新软件源
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库
docker-php-source extract #解压源码
cd /usr/src/php/ext/gd #gd源码文件夹
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #准备编译
docker-php-ext-install gd #编译安装
php -m | grep gd
7.重启docker的myphp容器
docker restart myphp
到此,大工告成啦!