macbook m1 使用 brew 安装 nginx + 多版本 php

macbook m1 使用 brew 安装 nginx + 多版本 php

在 FastAdmin 开发是,可能会用到多个 php 版本,那么使用 brew 是非常方便的安装方式。

在之前找到的教程中很多比较粗暴,使用 sudo 来启动,实际上可以不用的。

安装 多个 php 版本

1. 配置php 仓库

由于目前 php7.4 已经被标记为 EOL,那使用默认的仓库已经无法安装 php7.4 了,需求切换到第三方的 php 仓库 [^1]。

brew tap shivammathur/php

2. 安装多版本 php

分别安装安装 php 7.4、8.1、8.2

brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.1
brew install shivammathur/php/php@8.2

3. 配置 php-pfm 的端口

防止冲突,php 配置文件在以下对应的目录 /opt/homebrew/etc/[php-ver]/php-fpm.d/www.conf 内。
分别设置端口,为了方便记忆可以设置好记的端口名,比如 php7.4 的端口设置为 9074,php8.1 设置为 9081 等等。
配置完成后记得重启一下 php-pfm 服务。
brew services restart shivammathur/php/php@7.4

4. 启动 php-pfm 服务

为了方便 nginx 调用

brew services start shivammathur/php/php@7.4
brew services start shivammathur/php/php@8.1
brew services start shivammathur/php/php@8.2

5. 切换 php-cli 命令行的版本

比如切换到 php 8.2 的命令行

brew unlink php
brew link --overwrite --force shivammathur/php/php@8.2

安装 nginx

1. 安装

brew install nginx

2. 配置站点和对应的 php 版本

opt/homebrew/etc/nginx/servers/ 中建立一个 fastadmin2.fbi.com.conf 的站点配置文件,使用的是 php8.2,配置如下。

server {
    listen 8080;
    server_name fastadmin2.fbi.com; 

    root html/fastadmin2/public;
    # root   /Users/f4nniu/fastadmin/fastadmin-docker/src/fastadmin2/public;

    location / {
        index index.php;
    }

    include ./php/php82.conf;
}

配置 php8.2 版本,在 opt/homebrew/etc/nginx/php中建立一个 php82.conf 文件,配置如下。

location ~ \.php(.*)$ {
    fastcgi_pass   127.0.0.1:9082;
    fastcgi_index  index.php;
    fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO  $fastcgi_path_info;
    fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
    include        fastcgi_params;
}

[^1:] https://github.com/shivammathur/homebrew-php

原始地址
https://www.cnblogs.com/F4NNIU/p/17504424.html

posted on 2023-06-26 08:53  建伟F4nniu  阅读(658)  评论(0编辑  收藏  举报

导航