macOS 上安裝 PHP 語言
在 macOS Apache 下所搭配的後端語言,以下會依據步驟在 macOS 上安裝各種版的 PHP。安裝前準備
- 請先安裝 Apache
Youtube 影音教學版
安裝各版本的 PHP
2019.01.16 發現,建議直接安裝最新的 PHP 或者 7.1 以上即可,5.6 與 7.0 都很容易失敗。
- 安裝 PHP 7.1 版本
brew install php@7.1
- 安裝 PHP 7.2 版本
brew install php@7.2
- 安裝 PHP 最新 版本
brew install php
,目前已經到 7.3
- 不要安裝 PHP 5.6 版本
brew install php@5.6
,不建議安裝此版,據說已經被 EOL 囉!- 不要安裝 PHP 7.0 版本
brew install php@7.0
,應該也是GG惹,所以不建議安裝此版
Cli 指令模式設定
- 用 Sublime Text 打開編輯
~/.zshrc
,終端機執行指令subl ~/.zshrc
- 稍微檢查一下以下路徑是否存在後在檔案最後方新增以下內容
## PHP 7.1
#export PATH="/usr/local/opt/php@7.1/bin:$PATH"
#export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
## PHP 7.2
#export PATH="/usr/local/opt/php@7.2/bin:$PATH"
#export PATH="/usr/local/opt/php@7.2/sbin:$PATH"
## PHP 7(7.3)
#export PATH="/usr/local/opt/php/bin:$PATH"
#export PATH="/usr/local/opt/php/sbin:$PATH"
- Cli 要切換版本的話,就把
~/.zshrc
該版的註解拿掉 - 然後終端機執行指令
source ~/.zshrc
Apache 模式設定
- 用 Sublime Text 打開編輯
/usr/local/etc/httpd/httpd.conf
,終端機執行指令subl /usr/local/etc/httpd/httpd.conf
- 搜尋一下檔案內的 LoadModule 都擺在哪邊,將以下內容擺在 LoadModule 區塊的後面,不要直接放在檔案最後面,會有順序性的問題。
#LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
- 若要更換版本,就把 LoadModule 該版本註解拿掉後,重開 Apache 即可
設定 Apache 讀取執行 PHP
- 用 Sublime Text 打開編輯
/usr/local/etc/httpd/httpd.conf
,終端機執行指令subl /usr/local/etc/httpd/httpd.conf
,修改以下內容
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
- 重開 Apache,終端機執行指令
sudo apachectl -k restart
各版本的 php.ini
- PHP 5.6 版本 -
/usr/local/etc/php/5.6/php.ini
(該放棄惹) - PHP 7.0 版本 -
/usr/local/etc/php/7.0/php.ini
(該放棄惹) - PHP 7.1 版本 -
/usr/local/etc/php/7.1/php.ini
- PHP 7.2 版本 -
/usr/local/etc/php/7.2/php.ini
- PHP 7.3 版本 -
/usr/local/etc/php/7.3/php.ini
安裝 imagick
- 先要安裝 imagemagick,終端機執行指令
brew install imagemagick
- ‼️請先將 Cli 的 php 切換到指定的版本,可以用
php -v
檢查目前 Cli 的 php 版本 - 終端機執行指令
pecl install imagick
,中間有個Please provide the prefix of Imagemagick installation [autodetect]
,直接按enter
即可 - 結果若是失敗如果出現
configure: error: Please reinstall the pkg-config distribution
,那就終端機執行指令brew reinstall pkg-config
後再執行pecl install imagick
即可 - 檢查該版本的
php.ini
內是否有extension="imagick.so"
- Cli 下要找 php.ini 位置,終端機執行指令
php --ini
即可 - 完成後重開 Apache,終端機執行指令
sudo apachectl -k restart
,然後看phpinfo()
是否有imagick
安裝 redis
- 先要安裝 redis,終端機執行指令
brew install redis
- ‼️請先將 Cli 的 php 切換到指定的版本,可以用
php -v
檢查目前 Cli 的 php 版本 - 終端機執行指令
pecl install redis
,中間有個enable igbinary serializer support? [no] :
與enable lzf compression support? [no] :
,都直接按enter
即可 - 結果若是失敗如果出現
configure: error: Please reinstall the pkg-config distribution
,那就終端機執行指令brew reinstall pkg-config
後再執行pecl install redis
即可 - 檢查該版本的
php.ini
內是否有extension="redis.so"
- Cli 下要找 php.ini 位置,終端機執行指令
php --ini
即可 - 完成後重開 Apache,終端機執行指令
sudo apachectl -k restart
,然後看phpinfo()
是否有redis
安裝 Deployer 部署器
- 終端機執行指令
curl -LO https://deployer.org/deployer.phar
- 終端機執行指令
mv deployer.phar /usr/local/bin/dep
- 終端機執行指令
chmod +x /usr/local/bin/dep
- 檢查是否安裝成功,重新開啟終端機,執行指令
dep -v
安裝 Composer 套件管理
- 終端機執行指令
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
- 終端機執行指令
php composer-setup.php
- 終端機執行指令
php -r "unlink('composer-setup.php');"
- 終端機執行指令
mv composer.phar /usr/local/bin/composer
- 檢查是否安裝成功,重新開啟終端機,執行指令
composer -v
重點整理
- PHP 5.6 版本 ini 檔案 -
/usr/local/etc/php/5.6/php.ini
(該放棄惹) - PHP 7.0 版本 ini 檔案 -
/usr/local/etc/php/7.0/php.ini
(該放棄惹) - PHP 7.1 版本 ini 檔案 -
/usr/local/etc/php/7.1/php.ini
- PHP 7.2 版本 ini 檔案 -
/usr/local/etc/php/7.2/php.ini
- PHP 7.3 版本 ini 檔案 -
/usr/local/etc/php/7.3/php.ini
- Apache 若要更換版本,就用 Sublime Text 打開編輯
/usr/local/etc/httpd/httpd.conf
,終端機執行指令subl /usr/local/etc/httpd/httpd.conf
,把 LoadModule 該版本註解拿掉後,重開 Apache 即可 - Cli 要切換版本的話,就用 Sublime Text 打開編輯
~/.zshrc
,終端機執行指令subl ~/.zshrc
,把要的版本註解拿掉,然後終端機執行指令source ~/.zshrc
即可