实在厌倦了windows无缘无故的宕机、病毒了吗,哈哈哈,这个跟我都没什么关系。准备使用下现如今牛X到不行的云平台没有办法只好研究下PHP。

现在的云平台支持的语言只有PHP、Java和Python。放着WordPress这么牛X的开源框架不用实在可惜。所以虽然有Python的开发经验,但是还是

用PHP了。什么开发语言能难倒做开发的?!

今天决心一定要把家里的这台MacBook Pro搞成能做php的开发,于是乎开始在百度和谷歌上各种搜,各种试,最后终于让我在浏览器通过输

http://localhost/sites/bae/看到了那久违了的“hello world!"。

下面正式开始了。
Mac OS X是内置apache和php的,所以不需要安装额外的软件,只需要到对应的地方把权限更改然后启动apache就行了。
1.开启apahce
Mac OS X10.8版本中把图形化的操作开启apache的界面取消了,所以只能通过”终端“输入命令的方式来启动。
   ① 打开终端,输入命令: sudo apachectl start回车后,终端提示我输入密码,密码?密码?密码是什么?在我纠结了几秒钟后,突然想难道是登录系统时的密码?试了一下果然不错。
   ②在Safari中输入http://localhost之后,果然看到了那个”It Works!“。


   ③如果想要关闭apache,只需要在终端输入sudo apachectl stop即可,若要重启apache,则命令为sudo apachectl restart。
   ④在终端输入httpd -v还可以看到当前apache的版本,我的版本是:
                                          Server version: Apache/2.2.22 (Unix)
                                          Server built:   Dec  9 2012 18:57:18
2.配置虚拟目录
Mac OS X中apache的文档根目录在/Library/WebServer/Documents/下,这个目录不是不好用,只是就像建立自己的目录。那在windows下改过apahce配置文件的都知道需要找到httpd.conf文件,并修改其中的配置内容。Mac OS X把这个文件所在的目录/etc设为隐藏了,所以只能打开Finder想办法打开这个目录才行,百度之后我选择了最方便的在Finder中通过快捷键Shift+Command+G的方式可以调出让你输入文件夹路径的窗口。输入/etc,进入该目录。
在/etc/apache2/目录下找到了那个httpd.conf,我当时那个兴奋呀,迫不及待的就双击要打开进行编辑,结果Mac系统很有礼貌的提醒我要选择什么程序打开?当我选择了自带的”文本编辑器.app“后,文件打开了,然后我就开始按照在windows下的配置开始各种改,结果文本编辑器也是很有礼貌的提醒我,”您没有修改的权限“,我去,我都找到你,打开你了,居然只能看不能改?右键-》显示简介,调出窗口,看到”权限“,嘿嘿,还不让我改,我把权限设置成可以读写总行了吧,正当我以为大功告成时,用文本编辑器打开后还是看到了那句很有礼貌的话。无奈,只好请教百度大神。额,需要用vi这个东东。
    ①sudo vi /etc/apache2/httpd.conf回车后进入vi程序 
    ②在屏幕中输入i,进入修改模式。
    ③在打开的httpd.conf文件中,首先找到#LoadModule php5_module libexec/apache2/libphp5.so,然后把光标定位到那个井号”#“,然后按下delete键,把那个#删掉,就去掉了注释。
    ④添加虚拟目录其实跟windows下设置一样,找到配置AliasModule的标记:<IfModule alias_module>

在里面添加

Alias /sites/ "/Users/lichallenger/Sites/"

这里是我的虚拟目录路径(命令是按i键进入插入模式,然后直接输入)。还要添加对这个目录的访问权限,代码跟Windows的一样,修改完毕按esc键退出当前模式进入一般模式,输入”:w“把更改保存,再输如”:q“退出vi回到终端。最后的结果如图:


这里需要说明一点:这个Sites目录一开始本来就是有的,但是没法直接访问需要手动配置。我不是PHP专家,但是在配置中发现 sites 一定要写成/sites/,对应的目录不能用相对路径,必须要绝对路径。还有一点,Alias对应的目录和Directory里的目录需要一致。
    ⑤配置完成后重启apache,我就兴致冲冲的去那个Sites目录下建立网页了,结果被告知没有权限,再次崩溃,又没有权限,搞什么呀,后来百度到需要通过chmod命令更改那个目录的权限才行,于是又进入终端输入sudo chmod 777 /Sites回车,搞定。
    ⑥赶紧在Sites目录下建了一个index.php,里面就写了一句echo "Hello World",在Safari中输入http://localhost/sites/bae/index.php回车,然后我看到了,我笑了,哈哈!!!

在Mac OS下配置PHP开发环境的更多相关文章

  1. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  2. Mac OSX 下配置 LNMP开发环境

    不久前负责了一个项目需要配置PHP7的开发环境,因为之前所有的项目用的是PHP5的,所以研究了这些东西,但是很遗憾,电脑出了问题,不得已重装了系统,然后你懂得...什么都没有了,要重新来过.. 虽然本 ...

  3. Mac OS 上配置java开发环境

    在开始本学期的java课程前,我需要先为自己的电脑配置好Java的开发环境.由于电脑是mac操作系统,所以教材上的教程对我并不管用,于是乎开始动手自己查阅网上资料来解决. 1.安装JDK 1.访问Or ...

  4. 在Mac OS上配置Android开发环境

    1)安装配置NDK 1.1 下载NDK并解压缩 下载路径 https://developer.android.com/tools/sdk/ndk/index.html 在terminal运行: chm ...

  5. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建执行project

    下面是子龙山人录制的关于cocos2d-x3.0的视频教程,macOS下配置Android开发环境.使用cocos2d-console来新建执行project.怎样执行cocos2d-x 3.0win ...

  7. macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

    macOS 中已经内置了 PHP.Python.Ruby.Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便.本文以最新的 macOS Sierra 10.12 配 ...

  8. Windows下配置Java开发环境

    学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...

  9. 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql

    本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X ...

随机推荐

  1. 关于SQLSERVER的全文目录跟全文索引的区别

    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~ 先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ...

  2. 检查office2016激活时间

     OFFICE 64位 和 WINDOWS 64位cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /ds ...

  3. MyBatis单个参数的动态语句引用

    参考:http://blog.csdn.net/viviju1989/article/details/17071909 是当我们的参数为String时,在sql语句中#{name} 会去我们传进来的参 ...

  4. rownum, row_number(), rank() , dense_rank(), partition by ,max() keep 语句的区别与用法

    rownum,rownumber(), rank(),dense_rank()都是用来为记录分配序号的, rownum只能在orderby语句排完序后,在外层嵌套查询才能获得正确的行号,用起来相当复杂 ...

  5. springcloud (一) 介绍

    开启springcloud 之旅... 传统单体架构: 微服务架构: 每个模块独立运行,就是独立的进程. 接下来基于springboot 来构建微服务: 1, 客户端->订单微服务->用户 ...

  6. php curl处理异常逻辑

    <?php // 处理异常逻辑 if (!curl_errno($ch)) {     if (200 == curl_getinfo($ch, CURLINFO_HTTP_CODE)) {   ...

  7. 六、配置github的pull request触发jenkins自动构建

    之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般的正常工作中,不会允许程序员直接向主分支推送代码:正常都是fork一个本地的分支,在本地分支调试完后,向主干分支提交 ...

  8. 构造方法PK实例方法

    1.构造方法 (1)用于对象初始化,一个类中至少有一个构造方法 (2)不能显示调用,只能在创建对象时,使用new来调用 (3)构造方法不能有返回值 (4)构造方法名称必须与类名一样 2.实例方法 (1 ...

  9. Python基础部分

    Python基础一 Python基础二 字符串相关操作一 列表及元组 字典介绍及其操作 Python 中的 is 和 == 编码和解码 Python中的 set 与 深浅拷贝 Python 的文件操作

  10. 论XGBOOST科学调参

    XGBOOST的威力不用赘述,反正我是离不开它了. 具体XGBOOST的原理可以参见之前的文章<比XGBOOST更快--LightGBM介绍> 今天说下如何调参. bias-varianc ...