Heim  >  Artikel  >  Backend-Entwicklung  >  OSX下采用MAMP的PHP替换系统自带PHP

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

WBOY
WBOYOriginal
2016-07-28 08:27:50920Durchsuche

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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn