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前面的#去掉

  • 全局设置'ServerName'指令 

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

[so:notice] [pid 18546] AH06662: Allowing module loading process to continue for module at /usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so because module signature matches authority "mayCA" specified in LoadModule directive

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

 

3.测试PHP运行

新建info.php文件 

touch /Library/WebServer/Documents/info.php
<?php
phpinfo(INFO_MODULES);
?>

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

http://127.0.0.1/info.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://localhost:8080/

 

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值