IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> docker 中搭建 PHP8 + Apache 环境 -> 正文阅读

[PHP知识库]docker 中搭建 PHP8 + Apache 环境

镜像介绍

  • PHP8 + Apache 的官方仓库: https://hub.docker.com/_/php?tab=tags
  • 在该仓库如下位置搜索 Apache 相关的镜像
    在这里插入图片描述
  • 我下载的是下面这个, PHP 版本是 8.0.6
    在这里插入图片描述

具体操作步骤

  • 下载镜像: docker pull php:apache-buster, 下载下来后使用 docker images 可以查看到如下信息:
    在这里插入图片描述
  • 创建容器: docker run -itd --name php -p 80:80 -v /Users/xiaosheng/docker:/var/www/html -v /Users/xiaosheng/docker/etc:/usr/local/etc -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled php:apache-buster
    • 命令详解:
    • --name php: php 表示创建出来的镜像名称
    • -p 80:80: 表示本机的 80 端口映射到容器内的 80 端口, 其中第一个 80 是本机的
    • -v /Users/xiaosheng/docker:/var/www/html: 数据卷挂载, 将本机的代码文件夹映射到容器内的代码文件夹, 冒号前面的是本机的文件夹地址
    • -v /Users/xiaosheng/docker/etc:/usr/local/etc: 将容器内 PHP 的配置文件映射到本机, 这样方便修改配置文件, 冒号前面的是本地的文件夹地址
    • -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled: 将容器内 Apache 站点的配置文件映射到本地, 方便添加和修改站点配置文件, 冒号前面的是本地的文件夹地址
    • php:apache-buster: 表示的是使用哪个镜像来创建容器, 即 镜像名称:tag名称
  • 以上步骤就可以创建出来一个容器, 使用 docker ps -a 来查看容器 在这里插入图片描述

PHP 安装扩展

以安装 pdo-mysql 扩展为例

  • 容器中 PHP 没有 MySQL 的扩展, 所以需要自己手动下载, 下载步骤可以参考该链接 https://www.yoyoask.com/?p=122
  • docker-php-source : 在 /usr/src 目录下创建出来 php 文件夹
  • 进入 /usr/src/php/ext 文件夹, 使用 docker-php-ext-install 安装所需要的扩展, 如安装 pdo-mysql 扩展, 可以使用 docker-php-ext-install pdo_mysql 来安装
  • 修改 PHP 的配置文件
    • 去掉 ;extension=pdo_mysql 前面的 ;
  • 使用 docker restart 容器ID 来重启容器

搭建 PHP 站点

  • 在从 Apache 中映射出来的文件夹中添加站点配置文件, 我这里添加了一个 ceshi.conf的文件
    在这里插入图片描述
    • 文件内容如下:
      <VirtualHost *:80>
      	ServerName www.xiaoming.test
      	DocumentRoot /var/www/html/api.ceshi.test/public
          <Directory "/var/www/html/api.ceshi.test/public">
              SetOutputFilter DEFLATE
              AllowOverride All
              Require all granted
              DirectoryIndex index.php index.html index.htm default.php default.html default.htm
          </Directory>
      	ErrorLog ${APACHE_LOG_DIR}/error.log
      	CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      
  • 重启容器: docker restart 容器ID
  • 在本机 host 文件中添加站点信息
    127.0.0.1 www.xiaoming.test

  • 如果想要在容器内部使用 vim 的话, 可以使用如下命令
    apt-get update apt-get -y install vim
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 11:48:41  更:2022-04-04 11:49:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 17:33:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码