macOS12安装 php8.1和apache

news2024/11/30 5:01:09

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/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git Bash和Git GUI设置中文的方法

0 前言 Git是一个分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。一般默认语言为英文&#xff0c;本文介绍修改Git Bash和Git GUI语言为中文的方法。 1 Git Bash设置中文方法 &#xff08;1&#xff09;鼠标右键&#xff0c;单击“Git B…

每日两题 / 108. 将有序数组转换为二叉搜索树 543. 二叉树的直径(LeetCode热题100)

108. 将有序数组转换为二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 每次将数组对半分&#xff0c;数组的中点作为树的节点 先选择整个数组的中点作为根节点&#xff0c;然后选择对半分后的两个子数组的中点作为根节点的左右节点… /*** Definition for a binary tre…

【操作系统期末速成】​内存管理|内存的装入模块在装入内存的方式|分配管理方式|页面置换算法|页面置换

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;操作系统&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到…

Django开发实战之定制管理后台界面及知识梳理(上)

不知道不觉写博客已经半个月了&#xff0c;涨了164个粉丝&#xff0c;在一边分享笔记的过程&#xff0c;一边收获粉丝&#xff0c;感觉很开心也很幸福&#xff0c;希望看我博客的小伙伴都能有所收获&#xff0c;大家共同成长进步&#xff0c;好拉&#xff0c;话不多说&#xff…

hcip实验6:BGP综合实验

实验拓扑&#xff1a; 实验配置&#xff1a; ip地址配置&#xff1a; #R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [R1-GigabitEthernet0/0/0]int l0 [R1-LoopBack0]ip add 172.16.0.1 32 [R1-LoopBack0]int l1 [R1-LoopBack1]ip add 192.168.1.1 24#R2…

回归预测 | Matlab实现GA-LSSVM遗传算法优化最小二乘支持向量机多输入单输出回归预测

回归预测 | Matlab实现GA-LSSVM遗传算法优化最小二乘支持向量机多输入单输出回归预测 目录 回归预测 | Matlab实现GA-LSSVM遗传算法优化最小二乘支持向量机多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现GA-LSSVM遗传算法优化最小…

【RAG论文】RAG中半结构化数据的解析和向量化方法

论文简介 论文题目&#xff1a; 《A Method for Parsing and Vectorization of Semi-structured Data used in Retrieval Augmented Generation》 论文链接&#xff1a; https://arxiv.org/abs/2405.03989 代码: https://github.com/linancn/TianGong-AI-Unstructure/tree/m…

阮怀俊参与五龙乡黄沙村村企联办“强村公司”

为走好海岛县高质量发展共同富裕特色之路&#xff0c;探索村级集体经济发展新路径、扶持新模式、运行新机制&#xff0c;嵊泗县五龙乡黄沙村股份经济合作社与杭州山舍乡建乡村产业发展有限责任公司联办成“强村公司”。 创始人阮怀俊表示&#xff0c;双方就融合乡域发展和文旅产…

Linux 操作系统MySQL 数据库1

1.MySQL 数据库 数据库是“按照数据结构来组织、 存储和管理数据的仓库”。 是一个长期存储在计算机内的、 有组织的、 可共享的、 统一管理的大量数据的集合。 它的存储空间很大&#xff0c; 可以存放百万条、 千万条、 上亿条数据。 但是数据库并不是随意地将数据进行…

python如何单步调试

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

MySQL中逗号分隔字段查询方法

MySQL中逗号分隔字段查询 select * FROM th_work_gand_up where FIND_IN_SET(11,lane_code) ; select * from th_work_gand_up where lane_code regexp (^|,)(11|1)(,|$);

金融业开源软件应用 管理指南

金融业开源软件应用 管理指南 1 范围 本文件提供了金融机构在应用开源软件时的全流程管理指南&#xff0c;对开源软件的使用和管理提供了配套 组织架构、配套管理规章制度、生命周期流程管理、风险管理、存量管理、工具化管理等方面的指导。 本文件适用于金融机构规范自身对开…

HDFS- DataNode磁盘扩缩容

HDFS- DataNode磁盘扩缩容 背景: 缩减/增加节点磁盘 方案介绍: 采用hdfs dfsadmin -reconfig 动态刷新配置实现,不停服扩缩容。 注意事项: 请在进行缩容之前,务必了解实际的数据量,并确保磁盘有足够的空间来容纳这些数据。还需要考虑未来的使用需求,要预留一定数量的空间…

Jboss 反序列化 CVE-2017-12149

一、漏洞简介 JBoss是一个管理EJB的容器和服务器&#xff0c;支持EJB 1.1、EJB 2.0和EJB3的规范。在/invoker/readonly路径下&#xff0c;攻击者可以构造序列化代码传入服务器进行反序列化,由于没有对反序列化操作进行任何检测&#xff0c;导致攻击者可以执行任意代码。 而jbo…

chmod -R 777 / 抢救,看这篇就够了

chmod -R 777抢救全过程记录 背景 在两台Ubuntu 20.04的服务器上错误执行了chmod -R 777 /命令&#xff0c;结果非常酸爽&#xff0c;sudo权限失效&#xff0c;而且ssh也没有用了。在经过了10多个小时的踩坑以后最后在不重装系统的情况下解决了问题&#xff0c;以下记录只记录…

C++ requires关键字简介

requires 是 C20 中引入的一个新关键字&#xff0c;用于在函数模板或类模板中声明所需的一组语义要求&#xff0c;它可以用来限制模板参数&#xff0c;类似于 typename 和 class 关键字。 requires关键字常与type_traits头文件下类型检查函数匹配使用&#xff0c;当requires后…

Selenium操作对象的方法汇总(如click/clear/submit/sendKeys/getText/getSize等)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

景源畅信:抖音小店的商品怎么同步到橱窗?

在数字营销的海洋中&#xff0c;抖音小店与橱窗的同步操作无疑是商家们关注的焦点。这不仅能增加商品的曝光度&#xff0c;还能提高交易的可能性。那么&#xff0c;如何将抖音小店的商品同步到橱窗呢? 一、核心步骤解析 要实现商品从抖音小店同步到橱窗&#xff0c;你需要确保…

Windows快速部署DCNv4(成功版)

文章目录 一、介绍二、编译DCNv42.1 下载源码2.2 编译DCNv4 三、报错提示3.1 Cuda is not available3.2 需要Microsoft Visual C 14.0 一、介绍 论文链接&#xff1a;[https://arxiv.org/pdf/2401.06197.pdf] (https://arxiv.org/pdf/2401.06197.pdf)   在这篇文章中介绍了一…

UnitTest / pytest 框架

文章目录 一、UnitTest框架1. TestCase使用2. TestSuite 和 TestRunner3. TestLoader4. Fixture装置5. UnitTest断言1. 登录案例 6. 参数化1. parameterized插件 7. unitTest 跳过 二、pytest 框架1. 运行方式3.读取配置文件(常用方式) 2. pytest执行用例的顺序1. 分组执行(冒烟…