
1.文档阅读The Missing Package Manager for macOS (or Linux) — Homebrew macOS(或 Linux)缺失的软件包的管理器 — Homebrew macOS Monterey 移除了自带的 PHP
2.整理输出前言交代 因为Mac升级OS到12.1 
不再支持内置各个编程语言的运行时环境,本人又有些不像单独安装。 干脆就安装Mac的软件管理器,如果电脑感到卡,再卸载。 PHP: 使用 macOS Monterey 之前内置的 PHP - Manual 2.1 安装 homebrew终端中执行如下命令即可 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


注意有时候,需要科学上网才行,使用国内源进行安装 /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
下载安装过程如下: huangbaoyin@huangbaoyindeMacBook-Pro ~ %/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 开始执行Brew自动安装程序 [cunkai.wang@foxmail.com] ['2022-08-19 16:51:27']['12.5'] https://zhuanlan.zhihu.com/p/111014448 请选择一个下载brew本体的序号,例如中科大,输入1回车。 源有时候不稳定,如果git克隆报错重新运行脚本选择源。 1、中科大下载源 2、清华大学下载源 3、北京外国语大学下载源 4、腾讯下载源 5、阿里巴巴下载源 请输入序号: 1 你选择了中国科学技术大学brew本体下载源 !!!此脚本将要删除之前的brew(包括它下载的软件),请自行备份。 ->是否现在开始执行脚本(N/Y) Y --> 脚本开始执行 Mac os设置开机密码方法: (设置开机密码:在左上角苹果图标->系统偏好设置->用户与群组->更改密码) (如果提示This incident will be reported. 在用户与群组中查看是否管理员) ==> 通过命令删除之前的brew、创建一个新的Homebrew文件夹 请输入开机密码,输入过程不显示,输入完后回车 开始执行 ---备份要删除的/opt/homebrew到系统桌面.... ---/opt/homebrew 备份完成 -> 创建文件夹 /opt/homebrew 运行代码 ==> /usr/bin/sudo /bin/mkdir -p /opt/homebrew 此步骤成功 运行代码 ==> /usr/bin/sudo /bin/chmod -R a+rwx /opt/homebrew 运行代码 ==> /usr/bin/sudo /usr/sbin/chown huangbaoyin /opt/homebrew 运行代码 ==> /usr/bin/sudo /usr/bin/chgrp admin /opt/homebrew git version 2.32.1 (Apple Git-133) 下载速度觉得慢可以ctrl+c或control+c重新运行脚本选择下载源 ==> 从 https://mirrors.ustc.edu.cn/brew.git 克隆Homebrew基本文件 未发现Git代理(属于正常状态) Cloning into '/opt/homebrew'... remote: Enumerating objects: 221996, done. remote: Total 221996 (delta 0), reused 0 (delta 0), pack-reused 221996 Receiving objects: 100% (221996/221996), 59.40 MiB | 10.96 MiB/s, done. Resolving deltas: 100% (164896/164896), done. 此步骤成功 --创建Brew所需要的目录 运行代码 ==> /usr/bin/sudo /bin/chmod u+rwx /opt/homebrew/bin /opt/homebrew/bin/brew .... .... 简单截图 
记得重启终端窗口或者执行: source /Users/huangbaoyin/.zprofile 
但是在安装PHP时,一直提示出现apr的报错 最后还是使用科学上网的方式,重新安装了homebrew, 执行brew install php 解决
2.2 安装PHPPHP: 使用软件包 - Manual 
终端中执行 brew install php


关键信息: To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/8.1/ To restart php after an upgrade: brew services restart php Or, if you don't want/need a background service you can just run: /usr/local/opt/php/sbin/php-fpm --nodaemonize
查看PHP版本 ➜ php-test-temp php -v PHP 8.1.1 (cli) (built: Dec 17 2021 22:38:05) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.1, Copyright (c) Zend Technologies with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies ➜ php-test-temp 
查看扩展文件目录 ➜ php-test-temp php-config --extension-dir /usr/local/Cellar/php/8.1.1/pecl/20210902 ➜ php-test-temp 
查看配置文件目录 ➜ 8.1 ls conf.d pear.conf php-fpm.conf php-fpm.d php.ini ➜ 8.1 pwd /usr/local/etc/php/8.1 ➜ 8.1
➜ php-test-temp php-config --ini-dir /usr/local/etc/php/8.1/conf.d 
补充安装不同的PHP版本,以及使用PHP版本1. brew search php // 查看homebrew源支持的PHP本本 
2. 安装PHP另一版本[项目需要] === PHP 7.2 这里已经安装了PHP 8.1 
➜ ~ brew install php@7.2
出现报错 
解决方法 homebrew - Error: php@7.3 has been disabled because it is a versioned formula - Stack Overflow 
brew tap shivammathur/php
brew install shivammathur/php/php@7.2
截图 

输出的关键信息 ... To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/7.2/ php@7.2 is keg-only, which means it was not symlinked into /usr/local, because this is an alternate version of another formula. If you need to have php@7.2 first in your PATH, run: echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc For compilers to find php@7.2 you may need to set: export LDFLAGS="-L/usr/local/opt/php@7.2/lib" export CPPFLAGS="-I/usr/local/opt/php@7.2/include" To restart shivammathur/php/php@7.2 after an upgrade: brew services restart shivammathur/php/php@7.2 Or, if you don't want/need a background service you can just run: /usr/local/opt/php@7.2/sbin/php-fpm --nodaemonize ==> Summary ? /usr/local/Cellar/php@7.2/7.2.34_4: 515 files, 75.0MB ==> Running `brew cleanup php@7.2`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ➜ ~
由于信息可知,安装目录在 /usr/local/opt/php@7.2 使用PHP 7.2启动Web服务 /usr/local/opt/php@7.2/bin/php -S localhost:8000 -t ./web
使用PHP 8.1启动Web服务 /usr/local/opt/php@8.1/bin/php -S localhost:8000 -t ./web 或 /usr/local/opt/php/bin/php -S localhost:8000 -t ./web 或 php -S localhost:8000 -t ./web
至于切换不同PHP的工具,TBD 后续补充 ... |