在 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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM