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

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

参考资料

时间: 2024-08-31 06:46:25

【OSX】OSX下采用MAMP的PHP替换系统自带PHP的相关文章

zend-MAC 下用MAMP搭建的PHP开发环境安装ZendGuardLoader不成功,请大神帮忙?

问题描述 MAC 下用MAMP搭建的PHP开发环境安装ZendGuardLoader不成功,请大神帮忙? 网上的搜的教程统统试过了就是不成功. zend_extension="/Applications/MAMP/bin/php/php-5.3.x/ZendGuardLoader.so" zend_loader.enable=1 zend_loader.disable_licensing=0 zend_loader.obfuscation_level_support=3 感觉这也写的没

在Ubuntu下采用Codeblocks开发菜单问题

问题描述 在Ubuntu下采用Codeblocks开发菜单问题 1C 在Ubuntu下采用Codeblocks开发界面程序,即选择wxwidget界面库开发的时候,我已经增加了一个菜单项,但不知道如何增加菜单的消息函数?(系统自己已经增加了两个菜单项,这两个菜单项对应的消息函数已经编写好了) 解决方案 CodeBlocks插件开发指南 这里有关于菜单的相关代码 http://blog.chinaunix.net/uid-23065002-id-4287216.html

list-link中List<int[]>和List<int>[]分别在什么情况下采用?它们的利弊是什么?

问题描述 link中List<int[]>和List<int>[]分别在什么情况下采用?它们的利弊是什么? link中List和List[]分别在什么情况下采用?它们的利弊是什么? 解决方案 List优点是可以随时追加元素/删除元素 数组简单高效 前者是数组的列表,可以方便地添加数组进来(添加int[]) 后者是列表的数组,可以方便地给数组中某一个列表添加元素(添加int) 解决方案二: List, 是一个list,其中每一个member都是一个int 数组,也就是数组的list

32位-windows10下采用ReadFile读磁盘失败

问题描述 windows10下采用ReadFile读磁盘失败 求高手解答,给出解决方法,谢谢先! 我的小段程序原来可以读整个500G磁盘,XP,WIN7,WIN8下无论32位还是64位, 测试都OK,但在WIN10下失败,只能读到4G. 程序如下: Public Class Form1 Public hDisk As Integer Public Declare Function CreateFileA Lib "kernel32" Alias "CreateFileA&qu

linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell

要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert

用ise轻松替换系统登录背景

每天使用电脑,面对同样的系统开机画面,你是不是感觉非常死板,每次修改桌面壁纸都需要点击多次,操作起来非常麻烦,你是否想过让自己的数码照片变成开机画面呢?或是把自己的数码照片设置成桌面壁纸,且不用修改即可让多张数码照片自动更换为壁纸,上面这些功能都可以通过修改系统设置来实现,但操作起来比较复杂,下面笔者就教大家如何使用iSee看图软件来使用你的数码照片来装扮自己的电脑,使用更加个性化,更加漂亮. 一.轻松替换系统登录背景 每次开机都看到相同的背景,你是不是感觉看腻了呢?能不能把自己拍的数码照片设置

如何在win7系统下远程桌面连接控制win8系统

下面这篇文章是教大家如何在win7系统下远程桌面连接控制win8系统. 在windows 8下右键点击计算机--属性--高级系统设置--远程,勾选远程连接到此计算机! 在Windows 7中打开远程桌面连接-- 输入Windows 8计算机的IP地址,点连接按钮 会出现类似要求输入用户名和密码的对话框 输入用户名和密码点确定会弹出警告,直接点是就行了,然后就会连接到远程Windows 8桌面! 效果如下!

新浪微博认证成功后什么情况下微女郎认证会被系统取消?

  认证成功后下面的情况下微女郎认证会被系统取消: 1.连续十天没有登录微女郎页面; 2.七天内没有上传微女郎个人主页展示图; 3.十天内没有建立微女郎个人相册; 4.发布违反微女郎守则及互联网相关规定的内容. 关于微女郎,如有其它疑问,您可以直接@微女郎 !

ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下

问题描述 ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下 哪位大神知道: ftp服务器在搭建windows系统下,web服务器在部署linux系统下,现java中使用ftpclient实现上传下载时,下载的文件内容是乱码: 之前web服务器也部署在windows系统下正常的,后来迁移到linux系统下出现乱码了啊,中文文件名编码正常. 查ftpclient的源码发现读取ftp服务器上文件的编码格式固定了,无法在外部修改,有试着将读取出来的文件转码各种编码方式,