开始安装(预准备)
docker run -p 9400:9000 --name myphp-fpm -d php:5.6-fpm
开始下载dockers配置文件
获取dockers中container id,然后从docker中下载配置文件到本地
docker cp 133ed4d19deb:/usr/local/etc /usr/local/php/etc
移除myphp-frm,然后再次安装
docker run -p 9400:9000 --name myphp-fpm -v /usr/local/php/www:/www -v /usr/local/php/etc:/usr/local/etc -v /usr/local/php/logs:/phplogs -d php:5.6-fpm
一切ok,将php源码上传/usr/local/php/www
可以进入配置文件目录/usr/local/php/conf进行修改
容器配置:
1 进入PHP5.6容器
docker exec -it f16af0d2d9a5 /bin/bash
2 给 php-fpm 安装扩展
docker-php-ext-install mysql
docker-php-ext-install mysqli
docker-php-ext-install pdo
mysql安装
docker run -p 3308:3306 --name mysql5.6 --restart=always --privileged=true \
-v /usr/local/mysql2/log:/var/log/mysql \
-v /usr/local/mysql2/data:/var/lib/mysql \
-v /usr/local/mysql2/conf:/etc/mysql \
-v /usr/local/mysql2/conf.d:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.6
3 php异常
Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
这个错误通常是由于尝试使用 MYSQL_ATTR_INIT_COMMAND
常量,而该常量是 PDO MySQL 扩展的一部分,但是该扩展或常量并未启用引起的。
要解决这个问题,请确保你使用了正确的常量,并且已启用 PDO MySQL 扩展。
确保你使用的是支持 MYSQL_ATTR_INIT_COMMAND
常量的 PHP 版本。该常量在 PHP 版本 5.3.6 及更高版本中可用
docker-php-ext-install pdo_mysql
php-fpm7.4 mysql支持
docker-php-ext-install pdo pdo_mysql
php-fpm7.4 ZipArchive支持
# 安装 libzip 和 zip
apt-get update && apt-get install -y \
libzip-dev \
zip
# 安装 ZipArchive 扩展
docker-php-ext-install zip
Call to undefined function think\captcha\imagecreate()
修改php.ini 去掉注释
extension=gd2
Call to undefined function Think\imagettftext()
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
//重新编译:
docker-php-ext-install gd