(不推荐) 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 是 自己的用户名

经过以上步骤apache就搞好了。
7. 在用户目录的Sites文件夹下,新建一个index.php。
<?php
phpinfo();
?>

将用户目录设为默认目录(选)
打开文件
$ 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