docker安装php5.6

本文介绍了如何在Docker中安装和配置PHP环境,包括使用docker-compose管理容器,安装PHP扩展如PDO、MySQL,以及处理PHP7.4中的函数调用错误,如GD库的配置。还提及了如何解决UndefinedconstantMYSQL_ATTR_INIT_COMMAND错误。
摘要由CSDN通过智能技术生成

开始安装(预准备)

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
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值