PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认

2020-01-06 23:34:07

参考地址 PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认

    由于我当前使用的 Mac 电脑的 PHP 版本比较低(7.1.19),许多新特性和功能不支持,现准备将其升级成最新版(7.3.2),具体步骤如下。

1,通过 brew 安装 php

在终端输执行如下命令,不需要指定安装 php 版本,它会自动升级到最新版本,同时 brew 会自动 update

1
brew install php


2,启用新版本的 php

(1)安装后我们在终端执行 php -version 会发现版本还是老的:

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


(2)首先我们执行如下命令打开 .bash_profile

1
sudo vim ~/.bash_profile


(3)按下 i 键启用编辑模式,并在末尾增加如下两行内容。

1
2
PATH="$(brew --prefix php)/bin:$PATH"
export PYTHON_ENV=development


(4)然后按下 esc 退出编辑模式。 接着组合按下 shift + : 开启命令,然后输入 wq 回车,保存退出。

(5)最后我们在终端中执行如下命令即可 :

1
source ~/.bash_profile


(6)再次在终端执行 php -version 会发现已经使用更新版本的 php 了:

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


3,重新安装 Apache

(1)经过上面操作后,由于我之前使用的是系统自带的 Apache,当创建一个 php 页面输出 phpinfo() 信息会发现,php 版本还是使用老的:

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


(2)这是由于系统自带的 Apache 与 Homebrew 一起使用会有问题,因为 Apple 在此版本中删除了一些必需的脚本。首先我们依次执行下面命令关闭内置的 Apache

1
2
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null


(3)接着使用 Brew 安装新的 Apache 版本:

1
brew install httpd


(4)执行如下命令启动新 Apache 服务器:

1
sudo brew services start httpd


(5)新 Apache 服务器默认端口是 8080,我们使用浏览器访问 http://localhost:8080 测试下效果:

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


(6)接着我们要给 Apache 增加 php 模块支持,在终端中执行如下命令编辑 httpd.conf  文件:

1
sudo vim /usr/local/etc/httpd/httpd.conf


(7)按下 i 键进入编辑模式,增加如下几行配置:

1
2
3
4
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
<FilesMatch \.php$>
        SetHandler application/x-httpd-php
</FilesMatch>


(8)接着找到如下节点:

1
2
3
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>


将其改成如下内容:

1
2
3
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>


(9)最后按下 esc 退出编辑模式。 接着组合按下 shift + : 开启命令,然后输入 wq 回车,保存退出。

(10)在 /usr/local/var/www 下放置创建一个 php 页面输出 phpinfo() 信息会发现,已经是使用新版的 php 了:

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


4,修改 Apache 网站根目录

    默认网站根目录是 /usr/local/var/www,如果想切换到自定义的目录下,比如:/Users/hanggg/wwwroot。可以通过如下操作来实现。

(1)使用 vim 命令编辑 httpd.conf 文件,找到 DocumentRoot 和 Directory 替换成 /Users/hangge/wwwroot

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认


(2)保存退出后,执行如下命令重启 Apache 服务器即可。

1
sudo brew services restart httpd


5,修改 Apache 服务器端口

(1)默认服务器端口是 8080,如果想要改成 80。同样是修改 httpd.conf 文件。

原文:PHP - 将macOS系统下的PHP升级成最新版本(7.3),并设为默认

(2)保存退出后,执行如下命令重启 Apache 服务器即可。

1
sudo brew services restart httpd


  • 2018-02-17 18:51:26

    Context都没弄明白,还怎么做Android开发?

    作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。

  • 2018-02-17 23:33:20

    NestedScrollView+Recyclerview下滑卡顿解决方法

    大家在进行安卓开发用到NestedScrollView+Recyclerview的时候,经常出现的情况就是加载下滑的时候没有任何问题,很流畅,但是在下滑以后明显出现了卡顿的情况,小编根绝这个问题,给大家再来的解决方法,一起来学习下。

  • 2018-02-23 14:15:42

    mysql的取整函数

    ROUND(X) -- 表示将值 X 四舍五入为整数,无小数位 ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保留 X 值小数点左边的 D 位,可将 D 设为负值。

  • 2018-02-23 14:22:50

    mysql的yearweek 和 weekofyear函数

    例如 2010-3-14 ,礼拜天 SELECT YEARWEEK('2010-3-14') 返回 11 SELECT YEARWEEK('2010-3-14',1) 返回 10 其中第二个参数是 mode ,具体指的意思如下: Mode First day of week Range Week 1 is the first week … 0 Sunday 0-53 with a Sunday in this year 1 Monday 0-53 with more than 3 days this year 2 Sunday 1-53 with a Sunday in this year 3 Monday 1-53 with more than 3 days this year 4 Sunday 0-53 with more than 3 days this year 5 Monday 0-53 with a Monday in this year 6 Sunday 1-53 with more than 3 days this year 7 Monday 1-53 with a Monday in this year 2.

  • 2018-02-23 17:20:44

    Mysql数据库If语句的使用

    MySQL的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:

  • 2018-02-24 10:16:36

    Java工具类之Apache的Commons Lang和BeanUtils

    Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。