MAMP Pro软件是一款很好的在MAC下面运行的网站集成环境软件,功能强大,配置简单,十分便于本地调试,其由Apache+MySQL+PHP+动态DNS配置构成,PHP的版本可以动态切换到最新版。无需更改hosts文件通过软件配置界面即可完成hosts文件修改,MySQL,Apache的端口和运行配置,十分的简单,省去了用户需要自己配置和搭建集成环境的麻烦,作为一款用于Web用户本地调试网站的利器,真心推荐安装。主要的优势在于功能齐全,配置简单,没有学习成本,还有Xdebug调试工具,可以帮助用户实时调试程序。下面来讲一下我是怎么配置MAMP Pro软件。

首先下载下来MAMP Pro软件,网上有破解版下载。下载完之后就进行安装,安装完之后正常的图标有下面3个:

其中MacGDBp软件是后面单独安装的。是在安装完MAMP Pro软件之后再PHP的面板中点击下面红框中的按钮进行下载的。

打开这个软件,进行配置。由于是使用Apache作为服务器,所以PHP是按照模块的方式来运行,就是上面图中的Mode还是选第一个选项Identical PHP version for all hosts(module)就行了。当然了,你选择CGI模式运行这个也是可以的,但是一般对于Apache我们还是建议PHP作为Apache的模块的方式来运行,这样网站更稳定。PHP的CGI运行方式和mod_php运行方式这里就不说了。有空自己百度一下,有很多资料。点击右上角的运行按钮,软件开始运行。然后我们平时在本地配环境经常是以虚拟主机方式运行,所以需要修改hosts文件,以前我们需要到系统目录中修改hosts文件,这里就可以直接通过下面的软件配置界面进行修改:

以下面的例子为例,设置一个虚拟主机域名www.demo.cn (还有网站安装目录下具体的目录DocumentRoot设置):

so easy!再也不用担心我配不来虚拟主机了!

接下来我们来讲一下这个MAMP Pro软件如何安装PHP扩展,这个是重点了。由于软件安装的时候只有带有最基本的PHP扩展,所以像Memcache,redis,mongo扩展基本上都是没有预装的,这个时候就需要我们自己安装这些必要的扩展了。安装扩展使用MAC自带的homebrew方式安装,因为这样最简单了。当然了,如果你觉得这样麻烦的话,你可以直接从网上去下载对应PHP版本的扩展,例如memcache.so文件,然后放到MAMP Pro软件中PHP相应扩展的安装目录中去,然后在php.ini文件中指明extension="扩展保存目录",记住,修改php.ini文件只能通过软件的界面去修改,这样最保险,因为软件的php.ini文件是由一个模板配置文件生成的。所以如果你直接去修改php.ini文件是没有用的。软件一运行就会使用模板配置文件覆盖掉你修改过后的php.ini文件。修改php.ini模板配置文件的地方是:菜单栏中File -> Edit Template -> PHP ->修改正在运行的PHP版本的ini文件就行了。

这个参考链接是:http://www.111cn.net/phper/linux-php/103735.htm。里面讲的很清楚。我就是参照着这个链接来的,下面我就直接复制黏贴一下了。

安装php-redis扩展,这个可以自己下载源码编译,或者寻找对应自己所用PHP版本的redis.so。

因为MAMP里面集成的PHP版本都没有包含头文件,自己下载编译的话肯定会出错,具体解决方法可自行去查找资料。当然,我比较懒,于是:

brew install homebrew/php/php56-redis

因为我用的是PHP5.6,所以是php56-redis,用这种方法非常方便、简单,但带来的问题是brew会自动安装一个PHP5.6.19到/usr/local/Cellar目录下。而安装好的redis扩展被放到了/usr/local/Cellar/php56-redis/2.2.7_1/redis.so
接下来就是修改PHP配置文件的问题了。前面说到MAMP里面每个PHP版本对应的目录下面都有一个 conf/php.ini 文件,自然就是PHP的配置文件了,于是修改这个文件,在扩展的部分添加以下代码

extension=/usr/local/Cellar/php56-redis/2.2.7_1/redis.so

完后经测试,浏览器运行表示已加载redis扩展

同样的memcache扩展也是一样的道理。然后要注意一下Apache运行用户,建议选择www。然后虚拟主机的用户也选择www。默认是MAC用户:

general菜单下:

hosts菜单下:

修改MySQL的密码:

MAMP Pro还有一个比较好的地方,在于可以使用Xdebug调试。配合IDE软件,非常的完美。

参考链接:http://www.cnblogs.com/kinglau/p/3919289.html

进行下面的步骤的前提条件是xdebug扩展必须安装好且正确配置。xdebug扩展安装和redis一样。安装好之后也是在php.ini中指明xdebug.so的目录就行,这个安装ZEND STUDIO或PHPStorm等PHP编辑软件。我的是IDE软件是ZEND STUDIO软件,所以就配置为ZENDSTUDIO。当然你也可以按照你的方式进行配置。在php.ini中[xdebug]增加下面一行:

xdebug.idekey="ZENDSTUDIO"

最终修改的配置为:

xdebug.remote_enable=1
  xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.idekey="/Applications/MAMP/tmp"
  ;xdebug.profiler_enable=0
;xdebug.profiler_output_dir="/Applications/MAMP/tmp"
extension="/Applications/MAMP/bin/php/php5.5.26/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"

ZEND STUDIO软件也需要配置一下:配置图片如下:

然后在谷歌浏览器中下载Xdebug helper插件,安装完成之后需要配置一下选项:

MAMP软件的安装和使用的更多相关文章

  1. linux 软件的安装与Tarball

    Linux 系统上真正认识的可执行文件其实是二进制文件 ( binary program ) shell scripts 只是利用 shell (例如 bash) 这支程序的功能进行一些判断式,而最终 ...

  2. linux下各种软件的安装过程

    //////知识储备//////////////////////////////////////////////////////////////////// /var 下存放着服务和经常改变的文件 / ...

  3. Ubuntu 中软件的安装、卸载以及查看的方法总结

    Ubuntu 中软件的安装.卸载以及查看的方法总结 博客分类: Linux UbuntuDebian配置管理CacheF#  说明:由于图形化界面方法(如Add/Remove... 和Synaptic ...

  4. 手机抓包软件Charles安装使用实例 (流媒体播放测试可去下载的时刻检测)

    手机抓包软件Charles安装使用实例   浏览:5258 发布日期:2015/07/17 分类:技术分享 关键字: 手机抓包软件 Charles 大胡子的博客Charles安装使用实例 Charle ...

  5. Linux软件的安装与卸载

    configure作用:是源码安装软件时配置环境用的 他根据你的配置选项和你的系统情况生成makefile文件 为make 做准备 最常用的参数: ./configure --prefix 作用: 不 ...

  6. 如何在VirtualBox虚拟机软件上安装Win7虚拟系统

    在Windows系统中安装VirtualBox 双击从官网上下载的VirtualBox-4.3.12-93733-Win.exe安装程序,默认下一步,下一步完成基础安装. 在VirtualBox虚拟机 ...

  7. linux软件的安装,更新与卸载

    Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类. 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文件: 第二:对应的有管理 ...

  8. Linux 下configure 参数配置与软件的安装与卸载

    Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  9. centos下redis和nginx软件的安装

    我们这章以redis和nginx软件为例,介绍一下centos下软件的安装. 需要软件包(可以先下载好复制到centos指定目录下,也可直接用wget命令获取): nginx-1.7.9.tar re ...

随机推荐

  1. 云原生应用开发12-Factors

    英文地址:https://12factor.net/ 中文地址:https://12factor.net/zh_cn/ 文章内容 简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软 ...

  2. [String ] StringBuffer VS StringBuilder

    StringBuilder的性能高于StringBuffer,因为StringBuffer是线程安全的. 首先说明一下,一般情况下,字符串相加默认是StringBuilder,但是当数量大于100,或 ...

  3. Binary Search in Java

    关于折半查找中的几个注意点. Version 1: public static <T extends Comparable<? super T>> int binSearch( ...

  4. Google Cloud Platfrom中运行基础的Apache Web服务

    Links: https://cloud.google.com/compute/docs/tutorials/basic-webserver-apache 步骤: 1.安装Apache 2.重写Apa ...

  5. Linux常用的指令(...编辑文件+保存)

    mkdir命令用来创建目录 1 mkdir filename touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来:二是用来创建新的 ...

  6. iOS 认识runtime 中的三个指针 isa , IMP , SEL

    runtime中函数调用经常被提及的三个概念 isa,IMP,SEL 一  isa:是类指针,之所以说isa是指针是因为Class其实是一个指向objc_class结构体的指针,而isa 是它唯一的私 ...

  7. css背景透明文字不透明

    测试背景透明度为0.3.文字不透明: background-color: #000; /* 一.CSS3的opacity */ opacity: 0.3; /* 兼容浏览器为:firefox,chro ...

  8. uboot无法引导uImage错误及其解决方法

    先编译友善提供的linux内核: make ARCH=arm mini2440_defconfigmake CROSS_COMPILE=arm-linux- uImage 在arch/arm/boot ...

  9. 医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网

    首先介绍下主要需求,很简单,就是要在医院his系统内嵌公司的平台,实现内网直接访问外网 这是院方给我提供的网闸相关配置,105是医院内网的服务器,120是外网的服务器,中间通过网闸配置的几个端口实现互 ...

  10. HRBUST 2072 树上求最大异或路径值

    一个很经典的套路 思想是 F [u,v] = F[1,u] ^ F[1,v] 这样就转化成了n个数两两异或 求最大值 可以用字典树来做 每次用当前数去树中寻求最大xor值 然后把这个数字插进去 就相当 ...