MAMP软件的安装和使用
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软件的安装和使用的更多相关文章
- linux 软件的安装与Tarball
Linux 系统上真正认识的可执行文件其实是二进制文件 ( binary program ) shell scripts 只是利用 shell (例如 bash) 这支程序的功能进行一些判断式,而最终 ...
- linux下各种软件的安装过程
//////知识储备//////////////////////////////////////////////////////////////////// /var 下存放着服务和经常改变的文件 / ...
- Ubuntu 中软件的安装、卸载以及查看的方法总结
Ubuntu 中软件的安装.卸载以及查看的方法总结 博客分类: Linux UbuntuDebian配置管理CacheF# 说明:由于图形化界面方法(如Add/Remove... 和Synaptic ...
- 手机抓包软件Charles安装使用实例 (流媒体播放测试可去下载的时刻检测)
手机抓包软件Charles安装使用实例 浏览:5258 发布日期:2015/07/17 分类:技术分享 关键字: 手机抓包软件 Charles 大胡子的博客Charles安装使用实例 Charle ...
- Linux软件的安装与卸载
configure作用:是源码安装软件时配置环境用的 他根据你的配置选项和你的系统情况生成makefile文件 为make 做准备 最常用的参数: ./configure --prefix 作用: 不 ...
- 如何在VirtualBox虚拟机软件上安装Win7虚拟系统
在Windows系统中安装VirtualBox 双击从官网上下载的VirtualBox-4.3.12-93733-Win.exe安装程序,默认下一步,下一步完成基础安装. 在VirtualBox虚拟机 ...
- linux软件的安装,更新与卸载
Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类. 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文件: 第二:对应的有管理 ...
- Linux 下configure 参数配置与软件的安装与卸载
Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...
- centos下redis和nginx软件的安装
我们这章以redis和nginx软件为例,介绍一下centos下软件的安装. 需要软件包(可以先下载好复制到centos指定目录下,也可直接用wget命令获取): nginx-1.7.9.tar re ...
随机推荐
- 测试百度地图输入GPS经纬度显示位置API
1.我的GPS获取的经纬度做度分秒转换后为 34.636055,112.40832 2.百度API介绍 GPS的坐标是WGS84,所以测试API http://api.map.baidu.com/ge ...
- django的模板系统过滤器笔记
-------------------django内建的过滤器-------------------1.add 使用形式为:{{ value | add: "2"}}意义:将val ...
- TCP协议的三次握手和四次挥手机制
核心知识点: 1.三次握手:seq和ack number 2.四次挥手:FIN和随机数 一.TCP/IP协议 TCP/IP协议(Transmission control protool/Interne ...
- springboot-项目属性配置
springboot如何新建一个项目参考博客:https://www.cnblogs.com/junyang/p/8151802.html 在springboot默认生成的配置文件的格式是:appli ...
- OpenCV图片拼接的两种方法
https://my.oschina.net/xiaot99/blog/226589 一.原图 1.jpg 2.jpg ...
- ORA-01034和ORA-27101的错误
我本机安装的数据库版本是ORACLE 11G R2,用plsql连接时候,报ora-12514如下错误: 但是在cmd里用sqlplus连接已经创建的用户时候,报如下错误: ORA-01034 - O ...
- Java Interface接口
Java 中接口概念 接口可以理解为一种特殊的 类,由 全局常量 和 公共的抽象方法 所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵循的规范,接口不关心这些类的内部数据, 也不关心这些类里 ...
- poj 1273 ---&&--- hdu 1532 最大流模板
最近在换代码布局,因为发现代码布局也可以引起一个人的兴趣这个方法是算法Edmonds-Karp 最短增广路算法,不知道的话可以百度一下,基于Ford-Fulkerson算法的基础上延伸的 其实我不是很 ...
- Git使用http clone客户端保存用户名密码
使用Git Bash时,用命令git pull或git push时总是要输入密码,很烦躁 解决办法 需要注意的是,这个方法是在Windows下使用 1. 新建环境变量 HOME 值为 %USERP ...
- SG函数略解
由于笔者太懒,懒得把原来的markdown改成MCE,所以有很多奇怪的地方请谅解. 先说nim游戏. 大意:有n堆石子,两个人轮流取,每个人每次从任意一堆取任意个,直到一个人无法取了为止.问对于石子的 ...