官方镜像说明页:
可根据自己需要,选择对应版本的 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 的驱动情况: