OSX下采用MAMP的PHP替換系統自帶PHP
前言
眾所周知,OSX自帶了
PHP和
Apache,顯然這些不是我們需要的。
很多人都會安裝集成環境作為自己的開發環境。比如我選擇的是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
參考資料
- http://stackoverflow.com/questions/4145667/how-to-override-the-path-of-php-to-use-the-mamp-path
- http://blog.sina.com.cn/s/blog_68431a3b0102vpny.html
- https://www.zhihu.com/question/20916296
- http://elf8848.iteye.com/blog/1582137
Tags:
文章來源: