【OSX】OSX下采用MAMP的PHP替換系統自帶PHP

小雨雨hi發表於2016-07-06

OSX下采用MAMP的PHP替換系統自帶PHP

前言

眾所周知,OSX自帶了PHPApache,顯然這些不是我們需要的。
很多人都會安裝整合環境作為自己的開發環境。比如我選擇的是MAMP,PHP的版本是7.0.

問題

我在OSX的終端中,執行php -v,出現的是自帶的PHP5.5

yu@bogon ~ $ php -v 
PHP 5.5.31 (cli) (built: Feb 20 2016 20:33:10) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

這樣就會出現在執行一些框架的命令列工具,比如Yii、Laravel,會出現問題。

解決方案

刪除自帶php和apache

OSX之所以會自帶apache和php環境,是因為一些系統工具會使用,如果刪掉的話,可能導致某些工具不能使用。

不推薦這個方法

新增到環境變數

檢視所用的bash

echo $SHELL
  • csh或者tcsh,C Shell
  • bash,sh,zsh,Bourne Shell

修改配置檔案

我們可以修改的配置檔案有下面幾種

  • /etc/profile ,全域性環境變數,不要修改
  • /etc/bashrc,系統級環境變數,可以修改
  • ~/.bash_profile ,使用者級環境變數,可以修改

經過測試,居然都沒有生效。。。。

所以採用最後的方式。

alias 別名

由於我採用的是zsh,所修改的配置檔案的位置是~/.zshrc

在配置檔案的最後增加alias,讓php命令直接指向MAMP的php路徑

alias php="/Applications/mamp/php/bin/php"

採用這種方式的原因是

  • 安全,不影響其他軟體呼叫系統PHP
  • 方便,當前使用者會直接呼叫PHP7,如果我把MAMP刪掉的話,可以直接修改alias,避免出現更多意外的bug

結果

yu@bogon ~ $ php -v
PHP 7.0.0 (cli) (built: Dec  4 2015 01:16:36) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

參考資料


相關文章