mac 13 系统下安装配置 apache php (更新20230511)

(不推荐) Mac 自带 apache命令

!!!不推荐,系统每次更新都要重新配置。

apache 命令如下:

#开启apache服务 
sudo apachectl  -k start
#停止apache服务 
sudo apachectl stop
#重启服务 
sudo apachectl restart
#查看版本 
httpd -v

手动打开apache服务后,在浏览器输入localhost,将看到如下:
在这里插入图片描述
程序的根目录在/Library/WebServer/Documents/ 下,这个It works 就是里面的info.php打印出来的。

配置apache

1. 在自己的用户目录下新建一个Sites文件夹。
  $ mdir dir ~/Sites
2. 编辑文件/etc/apache2/users/username.conf。
 $ sudo vim /etc/apache2/users/username.conf
#userName=你的用户名

#添加内容
<Directory "/Users/{userName}/Sites/"> 
AllowOverride All Options
Indexes MultiViews FollowSymLinks Require all granted 
</Directory>

#将该文件权限改为644:
$ sudo chmod 644 username.conf
3. 编辑文件/etc/apache2/httpd.conf 。
$ sudo vim httpd.conf 
#取消以下注释 
#ps: (vim 快速查看 命令模式(输入:)  输入 /”words you need find”)
LoadModule authz_core_module libexec/apache2/mod_authz_core.so 
LoadModule authz_host_module libexec/apache2/mod_authz_host.so 
LoadModule userdir_module libexec/apache2/mod_userdir.so 

Include /private/etc/apache2/extra/httpd-userdir.conf

#开启php
LoadModule php7_module libexec/apache2/libphp7.so
```
4. 编辑文件/etc/apache2/extra/httpd-userdir.conf。
$ sudo vim httpd-userdir.conf
#取消注释
lnclude /private/etc/apache2/users/*.conf
5. 重启apache。
   $ sudo apachectl restart
6. 浏览器输入: loacal/~{userName}/ 就能看到效果了。
ps:~yanzi 是 自己的用户名
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/ac2339713036f4cea22a0965b70f3266.png)
 经过以上步骤apache就搞好了。
7. 在用户目录的Sites文件夹下,新建一个index.php。
   <?php
       phpinfo();
   ?>
![alt ](https://img-blog.csdnimg.cn/img_convert/ac2339713036f4cea22a0965b70f3266.png)

将用户目录设为默认目录(选)

打开文件

$ subl /etc/apache2/httpd.conf  

查找

xxxx 为自己的用户名

DocumentRoot "/Library/WebServer/Documents"    
	修改为 DocumentRoot "/Users/xxxx/Sites"  
	
<Directory "/Library/WebServer/Documents">    
	修改为 <Directory "/Users/xxxx/Sites">

添加

   <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>

添加 index.php

	<IfModule dir_module>
         DirectoryIndex index.html index.php
	</IfModule>

ok!现在输入localhost试试,应该指向你的目录了。


mac 12 PHP 安装

以下来自CSDN博主「qq_21761149」的原创文章,可能出错的地方做下修改
————————————————
版权声明:本文为CSDN博主「qq_21761149」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21761149/article/details/122012229
————————————————
mac 12 删除了php,导致按照以前的方式无法加载php,表现是无法启动。
问题是由于12的安全限制引起的!!!

1. 安装 php7.4

```
 $ brew link --overwrite php@7.4
```

2. 创建证书

找到 “启动台>其他>左上角菜单>钥匙串访问>证书助理>创建证书颁发机构”
**证书名字区分大小写图为"cxCA"实际应为"cxca"**

在这里插入图片描述
在·我的证书·找到刚创建的证书,全部信任
在这里插入图片描述

3. 签名libphp7.so

注意下自己的证书文件位置 ~/Library/Keychains/login.keychain-db
```
$ sudo codesign --sign “cxca” --force --keychain ~/Library/Keychains/login.keychain-db /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

### 4. 修改文件/etc/apache2/httpd.conf。
#PHP 这行添加为
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so "cxca"
```

5. 重启apache

$ sudo apachectl restart

(推荐) 使用 brew 重新安装 appche

由于 使用签名方法每次升级都要重新设置。
(20230511更新)由于brew的相关依赖更新导致 php7 无法运行现更新为php8
默认使用工具 Sublime Text (用vim 自行替换)

0. 关闭Mac 自带的 appche

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

1.安装 brew

度娘自行搜索 方法很多 有墙

2.安装 php appche

brew install php
brew install httpd

3. 配置 httpd.conf

1.修改端口

安装完毕后默认端口是8080 修改为 80

subl /usr/local/etc/httpd/httpd.conf
查找 Listen 8080 改为80
2. 添加php支持
添加(删除原有 php_module)
LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so

xxxx为自己用户名 记得建立目录

DocumentRoot "/Library/WebServer/Documents"    
   修改为 DocumentRoot "/Users/xxxx/Sites"  
   
<Directory "/Library/WebServer/Documents">    
   修改为 <Directory "/Users/xxxx/Sites">
   
添加
  <FilesMatch \.php$>
       SetHandler application/x-httpd-php
   </FilesMatch>

添加 index.php 

   <IfModule dir_module>
        DirectoryIndex index.html index.php
   </IfModule>

4. 运行 appche

brew services restart httpd
或
brew services start httpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值