如何在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

相关推荐
似霰6 小时前
Android 日志系统4——logd 写日志过程分析一
android
AI逐月6 小时前
Mac 轻量安装 Docker 完整指南(Docker + Colima + Kubernetes)
macos·docker·kubernetes
China_Yanhy7 小时前
入职 Web3 运维日记 · 第 12 日:拥堵的跨链桥 —— 消失的 Gas 与“守护者”脚本
运维·web3·php
binderIPC7 小时前
macos环境下FFmpeg打包成.so文件
macos·ffmpeg·音视频
youyoulg7 小时前
利用Android Studio编译Android上可直接执行的二进制
android·ide·android studio
binderIPC7 小时前
macos的FFmpeg环境搭建
macos·ffmpeg·音视频
闽农7 小时前
Android ANR 调用栈溯源
android·anr
似霰7 小时前
Android 日志系统7——Android 平台日志丢失问题分析
android·log
BingoGo7 小时前
PHP 的问题不在语言本身,而在我们怎么写它
后端·php