macOS12安装 php8.1和apache

1. 安装php 8.1

macOS12不再自带php 

brew tap shivammathur/php

查看可安装版本

brew search php

 安装指定版本

brew install php@8.1

环境配置

vim  ~/.zshrc
export PATH="/usr/local/opt/php@8.1/bin:$PATH"'
export PATH="/usr/local/opt/php@8.1/sbin:$PATH"'
export LDFLAGS="-L/usr/local/opt/php@8.1/lib"
export CPPFLAGS="-I/usr/local/opt/php@8.1/include"
source ~/.zshrc

验证版本

php -v

如果需要配置

php --ini

启动PHP服务器


可以通过在终端应用程序中运行以下命令来启动 PHP 服务器:

php -S localhost:8000


此命令将在端口 8000 上启动 PHP 服务器。

然后可以打开 Web 浏览器并转到http://localhost:8000查看你的的 PHP 应用程序。

2. 自带apache(推荐)

一般mac系统自带,可以查看

验证版本 

sudo apachectl -v

或者

httpd -v

 

Apache 服务器命令

sudo apachectl -k start //开启Apache服务 
sudo apachectl -k stop //停止Apache服务 
sudo apachectl -k restart //重启Apache服务

配置httpd.conf

sudo vi /private/etc/apache2/httpd.conf
  •  将 php的libphp.so(路径:/usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so) 添加到apache中
/usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so

  • 增加配置块
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

  •   LoadModule actions_module libexec/apache2/mod_actions.so前面的#去掉

sudo apachectl -k start

如果报错 

[so:error] [pid 73902] AH06665: No code signing authority for module at /usr/local/Cellar/php@7.1/7.1.33_10/lib/httpd/modules/libphp7.so specified in LoadModule directive.

重新签名

Mac-codesign命令error: The specified item could not be found in the keychain-CSDN博客

钥匙串访问-- 证书助理--创建证书

 其他都默认

cd ~/Library/Keychains

 

先解锁

security unlock-keychain login.keychain

给php动态签名

sudo codesign --sign "mayCA" --force --keychain  ~/Library/Keychains/login.keychain-db /usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so

httpd.conf配置 

sudo vi /private/etc/apache2/httpd.conf

添加下面一列 

LoadModule php_module /usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so "mayCA"

source /private/etc/apache2/httpd.conf

重启

sudo apachectl -k restart

 浏览器访问http://localhost:8080/,"It works!"表示服务已启动 

 

3.测试PHP运行

touch /Library/WebServer/Documents/info.php
<?php
echo "hello,may!"
?>

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

4. 通过brew安装apache(补充)

brew install httpd
brew install lynx

启动apache服务

brew services start httpd

sudo apachectl status

 

sudo apachectl start
sudo vi /usr/local/etc/httpd/httpd.conf

 

LoadModule php7_module /usr/local/Cellar/php@7.1/7.1.33_10/lib/httpd/modules/libphp7.so
source /usr/local/etc/httpd/httpd.conf

配置同自带apache,路径有点差别

sudo apachectl restart

访问http://localhost:8080/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/618250.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《工具分享-整合功能网页》标星5.3k⭐开发人员的在线工具集:it-tools

IT Tools - 为方便开发人员提供的在线工具 部署自己的it-tools: 有两个版本&#xff0c;目前有中文支持。 直接部署使用docker指令获取出来的是英文的&#xff1a; 英文版&#xff1a; docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-…

第81天: 代码审计-PHP 项目MVC 注入CNVD 拿 1daySQL监控动态调试

目录 前置知识 正则表达式挖掘思路(通用漏洞思路) 功能点挖掘思路(通用漏洞思路) 案例一&#xff1a;数据库监控-QQ 业务源码系统-(无过滤) 案例二&#xff1a;正则表达式-Bluecms 源码系统-(无过滤) 案例三&#xff1a; CNVD 拿 1DAY-梦想 CMS 源码系统-(有过滤) 梦想 …

二、使用插件一键安装HybridCLR

预告 本专栏将介绍如何使用这个支持热更的AR开发插件&#xff0c;快速地开发AR应用。 专栏&#xff1a; Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景&#xff0c;简化了AR开发流程&#xff0c;让用户可更多地关注Unity场景内容的制作。 热更方案 基于Hybri…

STM32系统架构

以下是STM32系统架构中的各个重要组件和功能&#xff1a; 组件描述Cortex-M内核ARM Cortex-M系列内核&#xff0c;如M0、M0、M3、M4、M7等Flash存储器存储程序代码和数据SRAM存储程序运行时数据和堆栈外设接口GPIO、SPI、I2C、UART、TIM、ADC、DAC、USB、CAN、Ethernet等时钟和…

Android动画(四):PathMeasure实现路径动画

文章概览 1 PathMeasure概述2 实现路径加载动画3 实现箭头加载动画4 实现操作成功动画 本系列将介绍以下内容&#xff1a; Android动画 1 PathMeasure概述 PathMeasure是一个单独的类&#xff0c;其全部源码如下&#xff08;请详细研读注释&#xff09;&#xff1a; package…

吃透前端文件上传与文件相关操作

最近在学文件上传的操作,所以想把学习到东西写成一文章 这片文章是我以小白视角 慢慢学习并熟悉前端文件相关操作的流程总结出来的 前端文件上传 我首先想到是 <input type"file">选择文件</input>如果我们想限制上传文件的格式,大小或进行裁剪分片上传…

ssm121开放式教学评价管理系统+vue

开放式教学评价管理系统vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对开放式教学评价管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了开放式开放…

C++类与对象的一些练习

1.设计一个名为Rectangle的矩形类&#xff0c;其属性为矩形的长和宽&#xff0c;能计算和输出矩形的周长和面积。 class Rectangle { public:Rectangle(int c0,int k0):m_c(c),m_k(k){}int length()//周长{return 2 * (m_c m_k);}int area()//面积{return m_c * m_k;} privat…

SM131,SM130机笼和利时

SM131,SM130机笼和利时。设计系统 控制过程组态&#xff1a;针对过程控制站进行的控制逻辑和策略的组态 人机界面设计&#xff1a;SM131,SM130机笼和利时。针对操作员站进行的数据库组态模件外观、模件接线&#xff09;算法符号算法表示符号、SM131,SM130机笼和利时。输入输出端…

南京信工一班IP(2)

第六章&#xff0c;BGP—边界网关协议 自治系统—AS ​ 定义&#xff1a;由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源&#xff1a; 整个网络规模过大&#xff0c;会导致路由信息收敛速度过慢&#xff0c;设备对相同目标认知不同。AS之间…

基于openEuler22.03 LTS环境的容器项目实训——分布式微服务项目部署

一、说明 本文配置环境为VMware虚拟机&#xff08;2核CPU&#xff0c;4 GB内存&#xff0c;40GB磁盘&#xff09;&#xff0c;OS为openEuler 22.03 LTS &#xff0c;虚拟机要求能联网。 二、安装docker环境 2.1 安装docker相关软件包 [rootnode01 ~]# dnf -y install docker…

python如何单步调试

Python怎么单步调试&#xff1f;下面给大家介绍一下单步调试&#xff1a; 方法一&#xff1a;执行 python -m pdb myscript.py (Pdb) 会自己主动停在第一行。等待调试&#xff0c;这时你能够看看帮助。 方法二&#xff1a;在所调试程序的开头中&#xff1a;import pdb 并在你…

R语言数据分析案例-股票可视化分析

一、数据整合的对象 # Loading necessary libraries library(readxl) library(dplyr)# Reading the data from Excel files data_1 <- read_excel("云南白药.xlsx") data_2 <- read_excel("冰山.xlsx")二、数据整合的代码 # Reading the data from…

Android的NDK开发中Cmake报缺少对应的x86的so文件

需要实现一个串口操作的命令。 供应商提供了2个so文件。 分别是 armeabi-v7a 和 arm64-v8a 添加到对应的cpp下。 在CMakeLists.txt里添加so文件 # 添加预编译的库 add_library(libxxx SHARED IMPORTED)# 设置库的路径 set_target_properties(libxxx PROPERTIES IMPORTED_…

重写muduo之TcpConnection

目录 1、 TcpConnection.h 2、 TcpConnection.cc 1、 TcpConnection.h TcpConnection底层绑定&#xff08;管理&#xff09;了一个Channel&#xff0c;Channel有事件被Poller通知后&#xff0c;会调用相应的回调&#xff0c;这些回调也是TcpConnection中包含的方法&#xff0c…

牛客Java面试题【面试】

牛客Java面试题【面试】 前言推荐牛客Java面试题【面试】第2章 Java笔面试高频考点&解题技巧1. Java基础[2.1 一、java-基础-1](https://www.nowcoder.com/study/live/689/2/1)1.1 为什么Java代码可以实现一次编写、到处运行&#xff1f;1.2 一个Java文件里可以有多个类吗&…

我觉得这个域名证书监控平台又吊打Uptimekuma了

前面我们讲过uptimekuma 如何监控域名证书&#xff0c;很多人都喜欢 uptimekuma 那高端暗黑的色系上&#xff0c;然而最实用就是它的域名证书监控和历史可用性图表的展示上了&#xff0c;如下如&#xff1a; 但是这个东西吧&#xff0c;好看吗&#xff1f;好看&#xff0c;有用…

关键点检测——面部情绪数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

开源web在线数据库设计软件 —— 筑梦之路

GitHub - drawdb-io/drawdb: Free, simple, and intuitive online database design tool and SQL generator. 简介 DrawDB是一款多功能且用户友好的在线工具&#xff0c;允许用户轻松设计数据库实体关系。通过简单直观的界面&#xff0c;DrawDB使用户能够创建图表、导出SQL脚本…

【机器学习300问】86、简述超参数优化的步骤?如何寻找最优的超参数组合?

本文想讲述清楚怎么样才能选出最优的超参数组合。关于什么是超参数&#xff1f;什么是超参数组合&#xff1f;本文不赘述&#xff0c;在之前我写的文章中有详细介绍哦&#xff01; 【机器学习300问】22、什么是超参数优化&#xff1f;常见超参数优化方法有哪些&#xff1f;htt…