OSXOSX下采用MAMP的PHP替换系统自带PHP

Posted 雨果虾滑猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OSXOSX下采用MAMP的PHP替换系统自带PHP相关的知识,希望对你有一定的参考价值。

OSX下采用MAMP的php替换系统自带PHP

前言

众所周知,OSX自带了PHPApache,显然这些不是我们需要的。
很多人都会安装集成环境作为自己的开发环境。比如我选择的是MAMP,PHP的版本是7.0.

问题

我在OSX的终端中,执行php -v,出现的是自带的PHP5.5

[email protected] ~ $ 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

结果

[email protected] ~ $ 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

参考资料

以上是关于OSXOSX下采用MAMP的PHP替换系统自带PHP的主要内容,如果未能解决你的问题,请参考以下文章

macOS配置PHP环境

MAMP 环境下为 php 添加 pcntl 扩展

在Mac 系统上使用MAMP搭建PHP开发环境

如何在mamp中开启openssl扩展

Mac 配置PHP运行环境

MAC 下 mamp环境开启php错误提醒