dnmp一键安装包中增加PHP5.6的版本

开发利器 2024年6月28日 130

之前由于需要在mac上安装docker配置对应的项目,为了图方便,于是找了个一键安装包 dnmp,后来运行项目的时候,发现一些老的项目需要使用php5.6以下的版本,于是就想着在这个包中集成一个5.6的PHP版本,经过我多方折腾,终于成功啦,下面将具体步骤记录如下。

【开源推荐】mac下使用docker安装dnmp环境一键安装包

增加文件

1、在 services/php 文件夹中增加 php5.6的包(包我会放到附件中,需要可以下载)

包的内容如下,你也可以按照需求自己添加。

Dockerfile extensions php-fpm.conf php.ini

2、在 services/nginx/nginx1.21 文件夹中添加 enable-php-56.conf 文件。

fastcgi_pass php56:9000;
#fastcgi_pass unix:/usr/panel/sock/php/php-fpm56.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

这里的 fastcgi_pass一定要填写对,这个需要和nginx的容器进行通信用的, `php56` 是`compose.yml`文件中服务器的名称。,`9000`是容器内的端口号非宿主机的端口号,切记。

3、在 services/panel/vhost/nginx/nginx1.21 中增加对应的nginx配置文件。

server {
listen 80;
listen [::]:80;
server_name localhost;
root /home/www/;
index index.html index.php;

access_log /var/log/nginx/www.log main;
error_log /var/log/nginx/www.error.log info;

charset utf-8; #防止txt文本出现乱码

# 伪静态
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ [^/]\.php(/|$) {
# 注意这里和php-fpm的挂载目录一致
root /home/www/;
include enable-php-56.conf;
}
}

注意:这个程序的目录有两个都需要写上并且要写一样的,否则会报错。

compose.yml 文件添加

composer.yml文件中,添加对应的构建项目,可以仿照之前作者写好的写一个。

php56:
build:
context: ./servers/php/php5.6
args:
PHP_VERSION: php:5.6.40
CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
PHP_EXTENSIONS_56: ${PHP_EXTENSIONS_56}
ALPINE_MIRRORS_URL: mirrors.ustc.edu.cn
TZ: ${TZ}
container_name: php56
restart: always
image: imeepo/php:5.6.40-fpm-alpine
ports:
- "9007:9000"
volumes:
- "./servers/php/php5.6/php.ini:/usr/local/etc/php/php.ini:ro" # php.ini
- "./servers/php/php5.6/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf:rw" # php-fpm.conf
- "./servers/panel:/usr/panel" # nginx使用unix连接文件
- "./logs/php/php5.6:/var/log/php"
- "./data/composer:/tmp/composer" # 日志文件
- "./www:/home/www" # 文件路径
cap_add:
- SYS_PTRACE
networks:
- dnmp-net

变量在 .env里面,注意改成自己的。

CONTAINER_PACKAGE_URL=mirrors.aliyun.com
PHP_EXTENSIONS_56=pdo_mysql,mysqli,opcache,redis,gd,mongodb,swoole,memcached,sockets,bcmath,rdkafka

这个是 php56的扩展文件,不过由于我安装脚本中没写默认安装,因此我们可以换另外一种安装扩展的方法。

docker exec -it php56 /bin/sh #也可以在客户端直接进入

install-php-extensions redis #等待执行完成,然后重启即可

常用的扩展基本都支持,不支持的可以用编译安装的方式安装。

启动安装

在安装包的根目录执行

docker-compose up php56 #安装php56包

等启动后即可在容器中看见对应的项目。

附件下载

附件是我找到的另外一个 dnmp 的安装包,我发现这个安装包有好几个版本,每个里面包含的不一样,也许是大家根据最后又重新打包的,不想重新添加的,可以下载这个包,包里本身还有php5.6到php8.1,我是本身电脑里已经有了,不想重新安装,因此自己集成啦。

资源下载
PHP学习网
公众号回复“PHPER7313”获取下载!
请打开微信扫描右边的二维码回复关键字“PHPER7313”也可以微信直接搜索“PHP学习网”关注微信公众号获取。


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

版权声明:转载请注明 PHP学习网 » dnmp一键安装包中增加PHP5.6的版本
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网