Maison  >  Article  >  développement back-end  >  OSX下采用MAMP的PHP替换系统自带PHP

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

WBOY
WBOYoriginal
2016-07-28 08:27:50921parcourir

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

前言

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

问题

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

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

这样就会出现在运行一些框架的命令行工具,比如Yii、Laravel,会出现问题。

解决方案

删除自带php和apache

OSX之所以会自带apache和php环境,是因为一些系统工具会使用,如果删掉的话,可能导致某些工具不能使用。

不推荐这个方法。

添加到环境变量

查看所用的bash

<code><span>echo</span><span>$SHELL</span></code>
  • csh或者tcsh,C Shell
  • bash,sh,zsh,Bourne Shell

修改配置文件

我们可以修改的配置文件有下面几种

  • /etc/profile ,全局环境变量,不要修改
  • /etc/bashrc,系统级环境变量,可以修改
  • ~/.bash_profile ,用户级环境变量,可以修改

经过测试,居然都没有生效。。。。

所以采用最后的方式。

alias 别名

由于我采用的是zsh,所修改的配置文件的位置是~/.zshrc

在配置文件的最后增加alias,让php命令直接指向MAMP的php路径

<code>alias php=<span>"/Applications/mamp/php/bin/php"</span></code>

采用这种方式的原因是

  • 安全,不影响其他软件调用系统PHP
  • 方便,当前用户会直接调用PHP7,如果我把MAMP删掉的话,可以直接修改alias,避免出现更多意外的bug

结果

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

参考资料

  • 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
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了 OSX下采用MAMP的PHP替换系统自带PHP,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn