MacOS系统用brew安装PHP

一、安装Homebrew

当需要在MacOS上安装各种扩展的时候,推荐使用Homebrew,Homebrew是MacOS上的命令行模式下的软件管理工具,与Fedora操作系统上的dnf命令类似。Homebrew 的安装非常简单,在安装前,需要确认XCode或者Command Line Tools for Xcode是否安装,但我并不使用Xcode这个庞然大物来编码,所以只需安装 Command Line Tools for Xcode 即可,在终端键入以下代码完成安装:

$ xcode-select --install

在终端执行下面的命令进行安装(注意不要有换行):

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install"

但是,这条命令执行时下载的速度非常慢,此时可以下载这个bash命令文件,修改里面的软件源的位置为国内的软件源,以提高下载速度,详细过程如下:

下载官网提供的安装脚本,保存为本地brew_install文件:

$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install

打开brew_install文件,更改脚本中的资源链接为清华大学的镜像,修改语句:

BREW_REPO = "https://github.com/Homebrew/brew".freeze

为:

BREW_REPO = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git".freeze

当然也可以换成别的软件源,修改之后执行:

$ /usr/bin/ruby brew_install

安装成功之后执行下面的命令检查是否安装成功:

$ brew -v

注:直接执行安装会很慢,可为brew添加清华大学镜像源:

$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile

下面列出brew命令的常见用法

用brew命令搜索软件:

$ brew search autoconf

用brew安装软件

$ brew install autoconf

查看软件信息

$ brew info autoconf

更新某一软件

$ brew upgrade autoconf

卸载软件

$ brew remove autoconf
$ brew uninstall autoconf

删除程序,和upgrade一样,单个软件删除和所有程序删除

$ brew cleanup autoconf
$ brew cleanup

查看哪些软件可以升级

$ brew outdated

查看已经安装的软件列表

$ brew list

 

二、安装Apache

推荐使用如下命令首先安装Apache2,毕竟自带的配置管理都不太方便:

$ brew install apache2

相关的配置在后面配置PHP时一起介绍。

 

三、安装PHP

然后使用下面的命令安装php:

$ brew install php

如果需要指定版本,请首先确认源的版本,可以使用命令查询:

$ brew search php

安装成功之后,可以通过如下命令检查版本信息:

$ php -v
PHP 7.4.0 (cli) (built: Nov 29 2019 16:18:44) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies
$ phpize -v
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

如需安装xdebug,可先到xdebug的官网下载最新版的源码,解压缩之后进入源码目录,然后依次执行下面的命令,完成安装:

$ phpize
$ ./configure
$ make
$ sudo make install

安装成功之后需要修改php.ini的配置信息,确保php能够正确载入xdebug扩展文件。此时需要知道brew默认的安装位置。在MacOS上,brew的默认安装是在/usr/local/Cellar目录中,但是同时会在/usr/local/opt目录中建立对应的软连接。

用brew安装的PHP对应的php.ini文件是放在/usr/local/etc/php目录中的,需要在该目录中找到对应正确的版本。

我们不用打开和修改php.ini配置文件,而是继续进入conf.d目录,如果成功安装,在这里应该已经有了一个ext-opcache.ini的文件,我们可以依葫芦画瓢,创建一个ext-xdebug.ini的文件,并输入以下内容(请注意xdebug的正确安装目录):

[xdebug]
zend_extension=/usr/local/opt/php/pecl/20190902/xdebug.so
xdebug.remote_enable = 1
xdebug.collect_params = 4

保存,并再次执行下面的命令就能看到xdebug正确载入的信息:

$ php -v
PHP 7.4.0 (cli) (built: Nov 29 2019 16:18:44) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies
    with Xdebug v2.8.1, Copyright (c) 2002-2019, by Derick Rethans

修改apache2的配置文件,载入php扩展,修改如下内容:

$ sudo vi /usr/local/etc/httpd/httpd.conf
LoadModule php7_module /usr/local/lib/httpd/modules/libphp7.so

然后还需要配置对php文件的支持,可以用以下命令建立配置文件,该配置文件apache2启动时会自动载入:

$ sudo vi /usr/local/etc/httpd/other/php7.conf

在这个文件中输入以下内容:

<IfModule php7_module>

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

    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>

    <IfModule alias_module>
        Alias /php "/Volumes/HD_2/Project/PHP"

        <Directory "/Volumes/HD_2/Project/PHP">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>

    </IfModule>

</IfModule>

这里的配置含义是:如果载入了php扩展模块则增加PHP文件类型支持,以及增加index.php文件的目录优先级。并且,如果载入了别名扩展模块,则增加一个虚拟目录别名,指向具体项目目录。

到这里就完成了基本配置,执行phpini()也能看到信息输出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章