在Mac OS下配置PHP开发环境
实在厌倦了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开发环境的更多相关文章
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- Mac OSX 下配置 LNMP开发环境
不久前负责了一个项目需要配置PHP7的开发环境,因为之前所有的项目用的是PHP5的,所以研究了这些东西,但是很遗憾,电脑出了问题,不得已重装了系统,然后你懂得...什么都没有了,要重新来过.. 虽然本 ...
- Mac OS 上配置java开发环境
在开始本学期的java课程前,我需要先为自己的电脑配置好Java的开发环境.由于电脑是mac操作系统,所以教材上的教程对我并不管用,于是乎开始动手自己查阅网上资料来解决. 1.安装JDK 1.访问Or ...
- 在Mac OS上配置Android开发环境
1)安装配置NDK 1.1 下载NDK并解压缩 下载路径 https://developer.android.com/tools/sdk/ndk/index.html 在terminal运行: chm ...
- Linux下配置PHP开发环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建执行project
下面是子龙山人录制的关于cocos2d-x3.0的视频教程,macOS下配置Android开发环境.使用cocos2d-console来新建执行project.怎样执行cocos2d-x 3.0win ...
- macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)
macOS 中已经内置了 PHP.Python.Ruby.Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便.本文以最新的 macOS Sierra 10.12 配 ...
- Windows下配置Java开发环境
学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...
- 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql
本文地址 原文地址 本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录 有问题请先 看最后的附录 摘要: 系统OS X ...
随机推荐
- AOP 动态织入的.NET实现
AOP(面向切面编程:Aspect Oriented Programming)为诸如日志记录.性能统计.安全控制.事务处理.异常处理等与具体业务逻辑无关,却需要在全局范围进行执行的功能提供了一种良好重 ...
- Centos如何设置IP地址,LINUX怎么修改IP地址
对于很多刚刚接触linux的朋友来说,如何设置linux系统的IP地址,作为第一步,下面小编以centos系统为例,给大家演示如何给centos设置IP地址,如何修改linux 系统IP地址? 步骤阅 ...
- 03——微信小程序官方demo讲解——page部分
一个page由一个文件夹以及文件夹下四个文件组成. 比如一个页面叫index.则需要在pages目录下新建一个index目录,且包含由index+类型(js\wxml\wxss\json)为名组成的若 ...
- python学习笔记(十三): 多线程多进程
一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...
- opennebula onenebula
http://www.eucalyptus.com/blog/2013/01/07/opennebula-38-%E2%80%94-%E7%9B%91%E6%8E%A7 [云监控] http://ww ...
- TCP超时与重传机制
TCP超时与重传机制 TCP协议是一种面向连接的可靠的传输层协议,它保证了数据的可靠传输,对于一些出错,超时丢包等问题TCP设计的超时与重传机制.其基本原理:在发送一个数据之后,就开启一个定时器 ...
- Netty生产级的心跳和重连机制
今天研究的是,心跳和重连,虽然这次是大神写的代码,但是万变不离其宗,我们先回顾一下Netty应用心跳和重连的整个过程: 1)客户端连接服务端 2)在客户端的的ChannelPipeline中加入一个比 ...
- subprocess in python3.5
subprocess 该子模块允许你创建新的流程,连接到它们的输入/输出/错误管道,并获取他们的返回值.该模块打算替换多个旧的模块和功能:os.system 和 os.spawn * 使用sub ...
- 如何理解dart的mixin
mixin翻译出来就是混入的意思 混入,就是一个类可以使用另一个类里的功能比如方法或者属性,其实这个功能并不陌生 ,有点类似c#里的扩展方法,但是并不同于, mixin和implements有着本质的 ...
- 伸展树(SplayTree)的实现
优点:伸展树(splay tree)是一种能自我调整的二叉搜索树(BST).虽然某一次的访问操作所花费的时间比较长,但是平摊(amortized) 之后的访问操作(例如旋转)时间能达到O(logn)的 ...