在 docker 中,使用 php 官方镜像(带 apache)并加入 mysql 插件

官方镜像说明页:

可根据自己需要,选择对应版本的 php 进行下载。

这里使用 php 7.2 + apache 服务的镜像为例:

docker pull php:7.2-apache

运行容器:

docker run -d -p 9000:80 \
-v /home/website-php-root/:/var/www/html \
--name test-php php:7.2-apache

默认情况下,apache 的根目录在 /var/www/html 下,可以向上面直接映射进去,或使用 dockerfile 制作镜像直接编译进去:

FROM php:7.2-apache
COPY src/ /var/www/html/

默认情况下,镜像内部是没有安装 pdo_mysql、mysqli 扩展的

会遇到错误:Uncaught Error: Call to undefined function mysql_connect() in /var/www/html

需要手动执行安装

复制代码
# 进入容器
docker exec -it test-php /bin/bash

# 安装 mysql 扩展
cd /usr/local/bin
./docker-php-ext-install pdo_mysql
./docker-php-ext-install mysqli
复制代码

重启容器后自动生效,参考自:https://blog.csdn.net/ltgsoldier1/article/details/105515347

可以搭建 PHP 测试页查看环境配置信息

复制代码
<?php

    phpinfo();

    echo('hello world');

?>
复制代码

将以上保存为 test.php 放在根目录下直接访问即可,可以看到 PDO 的驱动情况:

image

posted @   不是豆豆  阅读(3827)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2020-11-09 初次使用 Microsoft SQL Server 迁移助手 (SSMA)
友情链接:迷途


点击右上角即可分享
微信分享提示