一、安裝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()也能看到信息輸出。