当前位置:   article > 正文

macOS12安装 php8.1和apache_mac mi1 安装php7.1

mac mi1 安装php7.1

1. 安装php 8.1

macOS12不再自带php 

brew tap shivammathur/php

查看可安装版本

brew search php

 安装指定版本

brew install php@8.1

环境配置

vim  ~/.zshrc
  1. export PATH="/usr/local/opt/php@8.1/bin:$PATH"'
  2. export PATH="/usr/local/opt/php@8.1/sbin:$PATH"'
  3. export LDFLAGS="-L/usr/local/opt/php@8.1/lib"
  4. 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

  • 增加配置块
  1. <FilesMatch \.php$>
  2. SetHandler application/x-httpd-php
  3. </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
  1. <?php
  2. phpinfo(INFO_MODULES);
  3. ?>

可以在浏览器中输入 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/

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/753061?site
推荐阅读
相关标签
  

闽ICP备14008679号