- Published on
docker php的使用
- Authors
- Name
- JiGu
- @crypto20x
想装个macCMS玩一玩,又不想弄乱vps的系统环境,选择docker进行php环境部署。
环境
- nginx
- docker
- ubuntu20.04
Nginx配置总有问题,js css 无法加载放弃下面搭建的方案。直接使用nginx+php- fpm环境
docker run --name macCMS -d -p 9000:80 -v /root/web/myphp:/var/www/html richarvey/nginx-php-fpm:2.1.2
放弃下面的方案
安装
macCMS应该是支持php8的,直接拉去镜像
docker pull php:8-fpm-alpine3.17
启动容器,映射端口到9527
docker run --restart=always --name macCMS -p 9527:9000 -v /root/web/myphp:/var/www/html -d php:8-fpm-alpine3.17
/root/web/myphp 这里放入index.php站点文件的根目录
配置nginx
server {
listen 81;
server_name 127.0.0.1;
root /root/web/myphp;
access_log /var/log/nginx/php-access.log;
error_log /var/log/nginx/php-error.log;
location / {
autoindex on;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9527;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
service nginx restart
php插件安装
docker exec -it macCMS sh 进入容器
docker-php-ext-install pdo_mysql gd 一般使用这个命令安装
redis使用pecl安装
pecl install redis
docker-php-ext-enable redis
zip插件安装
直接docker-php-ext-install zip 出现下面报错
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
Package ‘libzip’, required by ‘virtual:world’, not found
Package ‘libzip’, required by ‘virtual:world’, not found
Package ‘libzip’, required by ‘virtual:world’, not found
alpine 安卓的libzip版本过高 在 Alpine Linux packages 查询低版本的libzip 使用
apk add libzip=1.3.0-r1 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.7/community
apk add libzip-dev=1.3.0-r1 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.7/community
apk add libzip-tools=1.3.0-r1 --repository=http://dl-cdn.alpinelinux.org/alpine/v3.7/community
安装成功 安装插件成功后,记得重启php运行环境,因为是docker运行,直接docker restart macMCS