您现在的位置是:首页 >学无止境 >MacOS12, M2,Monterery,自带的Apache添加PHP8.0.28支持方法网站首页学无止境

MacOS12, M2,Monterery,自带的Apache添加PHP8.0.28支持方法

Afterwards_ 2023-05-16 14:33:33
简介MacOS12, M2,Monterery,自带的Apache添加PHP8.0.28支持方法

由于是在国内,首先切换到国内的brew镜像源.

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git" 

export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"

export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles" 

export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api" 

/bin/bash -c "$(curl -fsSL https://mirrors.ustc.edu.cn/misc/brew-install.sh)"

截止发文时,php的版本是8.2.4,由于当前要处理的的wordpress项目使用的是8.0.28,有些语法之类的8.2.4会报警告.处理php.ini无果(应该是可以关闭代码对ini配置的修改,没有尝试)

要安装非lts版本,所以brew安装要带版本号.

brew install php@8.0

安装完以后,终端中并不会找到php,没有环境变量,要执行

brew link php@8.0

 这时候可以执行

php -v

来查看php是否安装成功.

上面的brew安装php8步骤执行完时的提示中会显示你的php8安装在什么位置了,包括配置文件在什么位置都有提示,英文的可以注意看一下.

默认的我的M2 (ARM cpu),Monterey也就是Macos 12 版的php.ini是安装在了

/opt/homebrew/etc/php/8.0/php.ini 

php的主程序是安装在

/opt/homebrew/Cellar/php@8.0/8.0.28/bin/php

这两个文件的位置要注意,网上不是此系统版本的会有差异.

重新安装httpd是可选项,也就是重装apachectl

如果需要重装,需要把之前的停掉再重新安装

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

brew install httpd

如果重装httpd,需要配置一下端口号:

/opt/homebrew/etc/httpd/httpd.conf

中搜索8080,改成你要的端口,如果改成80就是默认使用127.0.0.1 或者localhost不用加端口就可以访问.

把页面文件地址改一下,像下面这样:

DocumentRoot "你存放php网站的地方"
<Directory "你存放php网站的地方">

在一堆LoadModule后面添加一个php的引用

LoadModule php_module /opt/homebrew/Cellar/php@8.0/8.0.28/lib/httpd/modules/libphp.so

注意这里不要按照以前的php7_module等习惯写成php8_module之类的,就是php_module

保存,这时候httpd(apache)还不能解析php文件,就像iis要配置解析aspx需要单独设置一样

编辑mime.types文件,后面追加两行

application/x-httpd-php php
application/x-httpd-php-source phps

在你存放php网站的地方写一个info.php  (名字随意.php)

内容:

<?php phpinfo()?> 

终端输入
 

sudo apachectl restart

输入密码

访问

localhost:你刚修修改过后的端口/info.php

即可看到php探针页面

至此macos 12 自带的apache启动和php集成都完成了.

如果你打开的网页是空白的值显示<?php phpinfo()?> 不显示探针,那就是mime.types文件没有修改或者是修改了以后apache(httpd) 没有重启.

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。