Linux Docker 安装PHP

拉指定php版本,先去docker库查一下版本是否存在:

https://hub.docker.com/

例如: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

#重启容器


点赞1
点击评论0
收藏1
浏览 89
 

还没有评论,快来发表第一个评论吧

免责声明:凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,注册用户和一般页面游览者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)
*尊重作者,转载请注明出处!