废话不多说直接实战。
1:更新下源
brew update
2:搜索PHP7.4
brew search php
3:安装PHP7.4
brew install php@7.4
4:安装成功返回信息(不知道为什么还自动装了Python3.9)
5: 要修改的一些信息
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
DirectoryIndex index.php index.html
echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/php@7.4/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.4/include"
brew services restart php@7.4
6:在终端依次输入
echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/php@7.4/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.4/include"
7:创建连接
brew link php@7.4
8:重启配置文件。
source ~/.bash_profile
9:查看php版本
zl@Mac ~ % php -v
PHP 7.4.27 (cli) (built: Dec 16 2021 18:12:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies
10:查看Apache版本
zl@Mac ~ % apachectl -v
Server version: Apache/2.4.41 (Unix)
Server built: Feb 29 2020 02:40:57
11:先备份下httpd.conf配置文件
1、切换工作目录下:cd /etc/apache2
2、备份文件,只需要执行一次:sudo cp httpd.conf httpd.conf.bak
12:开始修改MacOS系统自带的Apache配置文件,打开路径:/private/etc/apache2/httpd.conf文件或/private/etc/apache2/httpd.conf。
在文件尾部加上:
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
监听80端口,原来是Listen 8080:
找到
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
改为
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
# <IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
# Listen 8080
# </IfDefine>
把“DirectoryIndex index.html”修改为:
DirectoryIndex index.php index.html
找到:
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
改为:
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
找到:
#Include /private/etc/apache2/extra/httpd-vhosts.conf
改为:
Include /private/etc/apache2/extra/httpd-vhosts.conf
找到:
#Include /private/etc/apache2/extra/httpd-mpm.conf
改为:
Include /private/etc/apache2/extra/httpd-mpm.conf
找到:
#ServerName www.example.com:80
改为:
ServerName www.example.com:80
找到<Directory />标签,修改其内部所有的:“Require all denied”为:
Require all granted
找到<IfModule mime_module>标签,在内部添加下面的代码,使Apache能解析PHP文件,否则PHP文件只会显示源码而不解析:
AddType application/x-httpd-php .php
保存并重启apache
sudo apachectl restart
php -m
php -i
13:自定义下PHP的开发默认目录
在/Users/zl目录下新建一个Sites文件夹
如:/Users/zl/Sites
打开路径:/private/etc/apache2/httpd.conf配置文件
找到:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
改为:
DocumentRoot "/Users/zl/Sites"
<Directory "/Users/zl/Sites">
14:重启Apache。
sudo apachectl restart
其他命令:
启动:sudo apachectl start
停止:sudo apachectl stop
15:测试新装php7.4是否能跑起来。
在/Users/zl/Sites目录下新建一个index.php
复制代码
<?php
phpinfo();
?>
在浏览器中输入:localhost