zlb

docker 中使用 php--apache并加入 mysql 插件

官方镜像说明页:

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

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

docker pull php:7.4.33-apache

运行容器:

docker run --name jiuta-php-apache-7.4 -d -p 9000:80 \
-v /mnt/datadisks/docker-root/jiuta/www:/var/www/html \
 --log-opt max-size=10m --log-opt max-file=3 php:7.4.33-apache

默认情况下,apache 的根目录在 /var/www/html 下,可以向上面直接映射进去

/mnt/docker-root/jiuta/www 宿主机php源代码地址 映射到容器里面的目录 /var/www/html

--name jiuta-php-apache-7.4 容器名称 jiuta-php-apache-7.4

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

会遇到错误:Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

​ Uncaught Error: Call to undefined function mysql_connect() in /var/www/html

需要手动执行安装

# 进入容器
docker exec -it  jiuta-php-apache-7.4 /bin/bash

# 安装 mysql 扩展
 docker-php-ext-install pdo pdo_mysql

重启容器后自动生效

posted on 2024-04-11 17:48  zlb  阅读(81)  评论(0编辑  收藏  举报

导航