Linux Docker 安装PHP
拉指定php版本,先去docker库查一下版本是否存在:
例如:7.4.3-fpm
#准备目录:
# html以及php文件目录
mkdir -p /server/dede/www
# 日志目录
mkdir -p /server/dede/logs
# 配置文件目录
mkdir -p /server/dede/conf
# 创建自定义配置文件目录
mkdir -p /server/dede/conf/conf.d
#在/server/dede/www目录下创建index.php文件。
<?php
echo phpinfo();
?>
#运行PHP容器
docker run --name php7.4.3 -v /server/dede/www:/www -d php:7.4.3-fpm
#或者
docker search php
docker pull php:7.4.3-fpm
docker run --name php7.4.3 -v /server/dede/www:/www -d php:7.4.3-fpm
#准备nginx配置文件
#在/server/dede/conf/conf.d目录下创建test-php.conf文件,内容如下:
server {
listen 80;
server_name www.test-php.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
#php:9000: 表示 php-fpm 服务的 URL,下面我们会具体说明。
#/www/: 是 php-fpm 中 php 文件的存储路径,映射到本地的 /server/php/www 目录。
#运行 nginx 容器
docker run --name php-nginx -p 9022:80 -d \
-v /server/php/www:/usr/share/nginx/html:ro \
-v /server/php/conf/conf.d:/etc/nginx/conf.d:ro \
--link php7.4.3:php \
nginx
#参数说明:
# -p 9022:80: 端口映射,把 nginx 中的 80 映射到本地的 9022 端口。
# /server/php/www: 是本地 html 文件的存储目录
# /usr/share/nginx/html 是容器内 html 文件的存储目录。
# /server/php/conf/conf.d: 是本地 nginx 配置文件的存储目录
# /etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。
# --link myphp7:php: 把 myphp7 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm
在浏览器输入http://192.168.10.146:9022/ 显示如下页面:
# 安装php
docker run --name myphp5 -v /server/dede/www:/www -d php:5.6-fpm
# 安装nginx
docker run --name php5nginx -p 9022:80 -v /server/dede/www:/usr/share/nginx/html -v /server/dede/conf/conf.d:/etc/nginx/conf.d --link myphp5:php -d nginx
安装php扩展
#首先进入docker中 php 容器中
docker exec -it php7.4.3 bash (php7.4.3 为容器名)
#进入容器中docker 安装扩展的目录下 docker-php-ext-install 为安装扩展
cd /usr/local/bin/
#安装mysql扩展
./docker-php-ext-install mysql
./docker-php-ext-install mysqli
# php.ini的存放目录
/usr/local/etc/php
# docker-php-ext-install的存放目录
/usr/local/bin
#查看PHP扩展是否安装成功
php -m
安装gd扩展
#进入PHP容器
#更新软件源
apt update
#安装各种库
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
#解压源码
docker-php-source extract
# 进入gd源码文件夹
cd /usr/src/php/ext/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
#查看是否成功安装gd扩展
php -m | grep gd
#重启容器
还没有评论,快来发表第一个评论吧