macos 安装多版本PHP,composer
PHP版本切换网上有写博客用 brew-php-switcher 切换实际没生效,博客也是相互抄,看了袭浪费时间。讲一下我的思路,因为php 可以cli 和fpm 的方式。安装php 将不同版本添加命令到bin 实现cli模式可以调用不同版本;fpm通过修改配置文件,绑定不同端口,就可以同时运行不同版本的fpm,使用nginx 时配置文件写不用的fpm的端口号就可以使用不同版本的fpm了。用 homebrew 安装后软件目录也不同。Linux、windows也可以用类似方式实现。记录一下博客,方便后续有需要的人看,节约时间。
别跟我说docker!夏天macbook 开docker 热得一匹!
brew install php@7.4
## 等待brew 更新安装,太慢的,可以参考别人的博客换homebrew 的源
cd /usr/local/bin/
## php74 是我定义的命令文件名,其他版本自行定义名字。不过下文安装对应版本composer时要使用对应的命令名
ln -s /usr/local/opt/php@7.4/bin/php php74
php74 -v
PHP 7.4.21 (cli) (built: Jul 12 2021 11:57:26) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
## 到此php7.4 安装成功了, 然后我们修改7.4 fpm 的配置文件
vim /usr/local/etc/php/7.4/php-fpm.d/www.con
## 找到 listen = 127.0.0.1:9000 这一行,将端口改为 listen = 127.0.0.1:9001,wq 保存退出
## 启动php7.4
brew services start php@7.4
## 然后查看端口, 发现9001 端口已经被php-fpm占用,配置 nginx时,可根据需要配置fpm的端口。
lsof -nP -iTCP -sTCP:LISTEN
php-fpm 20184 xxx 8u IPv4 0x44b5422db725d7a3 0t0 TCP 127.0.0.1:9001 (LISTEN)
php-fpm 20187 xxx 9u IPv4 0x44b5422db725d7a3 0t0 TCP 127.0.0.1:9001 (LISTEN)
php-fpm 20188 xxx 9u IPv4 0x44b5422db725d7a3 0t0 TCP 127.0.0.1:9001 (LISTEN)
## 现在安装composer, 官网文档为:https://getcomposer.org/download/
cd ~
php74 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php74 -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php74 composer-setup.php
php74 -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer74
## 运行composer74,出现composer字样表明安装成功!
composer74
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
重复以上步骤,指定不同版本如:brew install php@8.0,就可以安装其他版本的PHP 和 composer!
composer 改源的命令搜其他博客吧。
macos 安装多版本PHP,composer的更多相关文章
- windows+Linux【Composer安装指定版本laravel】
在windows下安装的方法:(php.ini中openssl.dll扩展必须打开,且版本>=5.4) 方法一:使用安装程序 这是将 Composer 安装在你机器上的最简单的方法. 下载并且运 ...
- laravel composer 安装指定版本以及基本的配置
1 安装指定的 laravel版本 以下的案例是安装5.2版本 composer create-project laravel/laravel=5.2.* --prefer-dist 2 配置 优化相 ...
- windows下composer安装不了或composer命令无效的解决办法
安装方法: http://docs.phpcomposer.com/00-intro.html#Installation-Windows (官方中文帮助文档) 问题描述1: 通过Composer-Se ...
- brew 安装指定版本命令行工具 tmux 多版本实现
Homebrew 是 macOS 命令安装工具,其核心库里的命令行在 github homebrew-core 仓库上维护. 核心库命令大概有 5000 条左右,大部分的命令行工具只保留了最新版本的 ...
- macOS 安装 Java (Homebrew)
macOS 安装多个 Java 版本 Homebrew 是 macOS 下的一个非常好用的包管理工具, caskroom 则是基于 Homebrew 构建的一个强大的应用程序管理器. Homebrew ...
- lumen或者laravel安装指定版本
方法一 安装器安装:缺点不能安装指定版本 composer global require "laravel/lumen-installer" lumen new blog comp ...
- 记一次安装多版本php的四个雷区,你踩着了吗
记一次安装多版本php的四个雷区,你踩着了吗 技术小疯子关注3人评论740人阅读2018-06-29 15:00:30 记一次安装多版本的php的四个雷区,你踩着了吗 需求:公司需要在同一台服 ...
- 安装指定版本的Ionic或Cordova(转载)
安装ionic 及 cordova npm install -g cordova ionic 更新命令 npm update -g cordova ionic 安装特定版本 npm install - ...
- macOS 安装 Docker
系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说是带 Intel MMU 虚拟化的,最低 4GB 内 ...
- 1.1 Python for macOS 安装与配置
本文主要讲解在macOS系统下的Python3.7.0的配置与安装问题 并调试好开发环境 目标是编辑成功第一个python程序 下载最新版(3.7.0)Python macOS系统自带python 不 ...
随机推荐
- .NET周报【1月第3期 2023-01-20】
这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/ ...
- 财务精度:BigInteger 与 BigDecimal
财务精度:BigInteger 与 BigDecimal 每博一文案 师父说: 人这一辈子,真地好难. 有些人,好着好着,忽然就变陌生了,有些手,牵着牵着,瞬间就放开了,有些路,走着走着,就失去了方向 ...
- 移动 WEB 开发布局方式 ---- rem 适配布局
一.rem 基础 1. rem 单位 em : 相对于父元素的字体大小来说的 <div> <p></p> </div> div { font-size: ...
- Mybatis数据库批量操作
1:新增 首先,Mysql插入一条记录返回主键对Mybatis版本要求低,而批量插入返回带主键的,需要升级到3.3.1 以及以上的版本. 1.1:Mysql 上图需要注意加入useGenerate ...
- Vue14 条件渲染
转:https://blog.csdn.net/weixin_57519185/article/details/121168426 1 简介 通过指令v-show和v-if可以实现条件渲染. 它们都能 ...
- @mapper注解
1.标记这是一个映射接口,这样子写还是需要写xml文件 package com.atguigu.springcloud.dao; import com.atguigu.springcloud.enti ...
- Docker安装SqlServer、Mysql、MariaDB
一.Docker 安装SqlServer 说明 1. 拉取镜像 docker pull mcr.microsoft.com/mssql/server:2019-latest 2.运行 docker r ...
- 学习Java Day21
今天学习了静态导入,可以导入静态方法和静态字段
- 栈——stack的用法
介绍 栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元素放到 ...
- rt-thread模糊到清晰系列: thread切换相关
// 创建thread tid = rt_thread_create("main", main_thread_entry, RT_NULL, RT_MAIN_THREAD_STAC ...