如何在Mac上安装PHP环境

前置环境:HomeBrew

bash 复制代码
# Homebrew 是 Mac 上最好的包管理器之一,可以用于安装各种开源软件。从 Terminal(终端)执行以下命令安装 Homebrew:
/usr/bin/ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

一、安装php7.2

bash 复制代码
# 安装必要的扩展 以下命令安装了 Mcrypt、Opcache、Redis、Xdebug 和 Yaml 五个扩展。可以根据具体需求选择安装其他扩展。
brew install php70-mcrypt php70-opcache php70-redis php70-xdebug php70-yaml

# 安装 PHP 版本
# brew install php # 执行这个命令将会安装 Homebrew 中最新版本的 PHP

# 如果需要安装其他版本的 PHP 可以使用以下命令进行查找:
brew search php

# 然后可以根据需要安装特定版本的 PHP,例如安装 PHP 7.2 版本:
brew install php@7.2

二、配置 PHP

bash 复制代码
cd /etc
sudo nano php.ini # 在这个文件中可以修改一些 PHP 配置,例如文件上传大小限制、时区等。一些常用的设置如下:

# 内容BEGIN
upload_max_filesize = 2M
post_max_size = 8M
date.timezone = "Asia/Shanghai"
# 内容END, 保存文件后,重启 Apache 或者 Nginx Web 服务器,使配置生效。

三、测试 PHP 是否正常工作

bash 复制代码
touch /usr/local/var/www/info.php

# 内容BEGIN
<?php
  phpinfo();
?>
# 内容END

现在可以在浏览器中输入 http://127.0.0.1/info.php,如果一切正常将会出现 PHP 信息的页面。

到此为止,你已经成功配置了 PHP 环境,并可以开始 PHP 开发了。

FAQ

Q1、brew安装提示失败

bash 复制代码
Error: php@7.2 has been disabled because it is deprecated upstream!

答: brew已经不支持7.2了,只有用其他办法来安装

bash 复制代码
brew tap shivammathur/php
brew install shivammathur/php/php@7.2

安装完成提示

bash 复制代码
The php.ini and php-fpm.ini file can be found in:
    /opt/homebrew/etc/php/7.2/
​
php@7.2 is keg-only, which means it was not symlinked into /opt/homebrew,
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="/opt/homebrew/opt/php@7.2/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/opt/homebrew/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc
​
For compilers to find php@7.2 you may need to set:
  export LDFLAGS="-L/opt/homebrew/php@7.2/lib"
  export CPPFLAGS="-I/opt/homebrew/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

Q2、No code signing authority for module at /opt/homebrew/opt/php@7.2/lib/httpd/modules/libphp7.so specified in LoadModule directive.

答:MacOS 12版本不再自带php,使用brew安装php8.0 之后配置httpd.conf遇到以上标题错误,需要重新签名

Q2.1 首先在·钥匙串访问· -> 证书助理 -> 创建证书颁布机构(代码签名)

Q2.2 再回到·钥匙串访问· 找到 Ls RootCA

Q2.3 选择右键简介始终信任

Q2.4 在终端 给php动态库签名

bash 复制代码
sudo codesign --sign "zhiNian的CA" --force --keychain  ~/Library/Keychains/login.keychain-db /opt/homebrew/opt/php@7.2/lib/httpd/modules/libphp7.so

Q2.5 编辑 /etc/apache2/httpd.conf 添加下列

bash 复制代码
LoadModule php7_module /opt/homebrew/opt/php@7.2/lib/httpd/modules/libphp7.so "zhiNian的CA"

Q2.6 重启Apache

bash 复制代码
sudo apachectl -k restart

提示: AH06662: Allowing module loading process to continue for module at /opt/homebrew/opt/php@7.2/lib/httpd/modules/libphp7.so

注: httpd not running, trying to start

bash 复制代码
# 重启
sudo apachectl restart

访问 http://127.0.0.1/index.php

相关推荐
apihz19 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
问道飞鱼36 分钟前
【移动端知识】移动端多 WebView 互访方案:Android、iOS 与鸿蒙实现
android·ios·harmonyos·多webview互访
liliangcsdn1 小时前
smolagents - 如何在mac用agents做简单算术题
人工智能·macos·prompt
aningxiaoxixi1 小时前
Android 之 audiotrack
android
枷锁—sha1 小时前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
笑衬人心。2 小时前
TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
笔记·tcp/ip·php
名字不要太长 像我这样就好2 小时前
【iOS】继承链
macos·ios·cocoa
潜龙95273 小时前
第4.3节 iOS App生成追溯关系
macos·ios·cocoa
Cao_Shixin攻城狮5 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
呼啦啦呼啦啦啦啦啦啦8 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf