[亲测]在Mac下配置php开发环境:Apache+php+MySql

公司给我们配上了高大上的Apple Mac Pro本本,这两天自己正在习惯中。通过虚拟机PD,确实解决了一些因为工作习惯无法在iOS上很好完成的事情,但是我想,既然用起了iOS就尽量将一些事务在iOS环境下处理,免得好似关羽耍着大刀却骑着小木马。以前在windows下安装PHP开发环境,都是省事,直接下载一个集成包,如XMAPP 、AMPPS 之类的,已经很多年没在IIS里或者自己在windows下一个一个去配置、去搞这个东东了。iOS本身好似就是基于Linux内核起身的操作系统,所以本身就自带了一些Apache之类的东东,于是向还是在iOS下搭建一个PHP的开发环境,闲来无事的时候摸索摸索。

网上也搜索了一些教程,相对以前的windows下安装,确实简单了不小。

第一步:启动Apache

很多教程上写“有两种方法”,我觉得无头无尾的,也没想明白,也没去管它。我倒觉得应该是说,有两个操作。

1、在配置中启动“互联网共享”。

打开"系统偏好设置"->"共享",在"互联网共享"那一项前面打√。

这里操作的时候好似当时有点疑惑,就是怎么选择的问题,我也没搞太明白,大致随便在下面勾选了一个连接方式,保存好似也就过了。

2、启动Apache

打开Launchpad,找到“终端”,也就好似windows下的命令行,DOS方式类似那样。在Linux下应该叫做shell吗?呵呵,不太清楚。

输入下面的命令启动Apache

sudo apachectl start

输入的时候注意,Apache后面那个是字母l,不是数字1。我居然在这里还搞晕了一下。

启动要输入密码,就输呗,开机密码即可。一般来说没输入错,就正常启动了。

启动后,通过输入下面命令,可以查看Apache版本信息。

sudo apachectl -v

说到这里,我就稍微自我领悟了一下,如果领悟错了,以后自己来改。高手们请一笑而过吧~

sudo好似是运行的意思, apachectl 是Apache服务的名称,后面带一些参数,比如start就是启动,restart就是重启。后面每次修改config文件的时候,都需要重启才能生效。诸如此类。

好了,到了这里,Apache就启动完毕。一个WebServer就可以运行了。

在浏览器中输入http://localhost,会出现It works!的页面。

第二步:启动PHP

Apache启动后,Web服务启动,但这是并不支持PHP运行,需要启动PHP。所幸,iOS也自带了PHP,而且也是安装好的,只需要启动即可。

具体操作如下:

找到Apache的配置文件,一般来说在目录/etc/apache2/下。若不是很熟悉怎么在iOS下找目录,请跟我做:打开Finder,选择"前往"-"前往文件夹",输入"/etc/apache2/",找到其中的"httpd.conf"这个配置文件。

选择用文稿打开进行编辑,点按Command+F,搜索 #LoadModule php5_module libexec/apache2/libphp5.so

在该配置文件中,前面加#号的,表示注释掉不起作用的。所以我们要启动PHP模块,只需要将这一行前面的#去掉即可。

去掉之后,保存该httpd.conf文件即可。

这个时候问题来了,因为默认对该文件夹没有操作权,会提示文本锁定,无法解锁的情况,解决办法有两种:

a)选中该文件,右击后选择"显示简介",点击右下角的小锁的图标,输入电脑密码解锁,然后选择左边的+号键,选择自己当前电脑登陆的用户,将权限设置为读与写,如果还是不行,将其上一级文件夹权限同样再修改一次。

b)将该文件复制到桌面,进行修改,修改后再复制到原来的文件夹替换之前的文件即可。

我自己是一定做到b步骤,也就是复制到桌面,修改再贴回去才搞定的。这种情况好似在windows下也有过,类推。

修改了httpd.conf文件,是需要重新启动Apache才生效的。重启的命令如下:

sudo apachectl restart

至此,PHP启动完毕!

那么,我们怎么知道它是否成功呢,实践是检验真理的唯一标准,我们来测试一下。

这就又说到另一件事情,就是Apache的web根目录在哪里的问题。我开始在Apache文件夹下找,半天都没在,后来看了网上的说明,才知道在

/Library/WebServer/Documents/ 这个目下。也就是直接通过Finder直接转到该目录下即可找到我们之前访问到的 index.html.en 文件。

/Library/WebServer/Documents/这个目录同样涉及到修改权限的问题,当然也可以像上文那样修改,不过是在是太不方便了。于是我采取修改httpd.conf文件的方式,修改了Web根目录的指向。

具体是这样操作的:当然还是打开httpd.conf文件先。郁闷,还是得用复制到桌面的那个文件来改,然后再贴换到/etc/apache2/目录下替换,然后重启Apache使其生效。

打开httpd.conf,找到

DocumentRoot "/Library/WebServer/Documents"
 <Directory "/Library/WebServer/Documents">

将引号里的改成自己想建立的web目录。我是这么修改的:在Users/lintianyu/目录下建立一个MyWebRoot的目录,然后修改上述代码为:

#DocumentRoot "/Library/WebServer/Documents"
#<Directory "/Library/WebServer/Documents">
DocumentRoot "/Users/lintianyu/MyWebRoot"
<Directory "/Users/lintianyu/MyWebRoot">

保留它原来的,用#注释掉,以防自己忘记。然后增加自己新建立的这个目录地址。

然后再重启Apache,使其修改生效。

在Users/lintianyu/目录新建一个info.php的文件,输入以下代码:

1 <?php phpinfo(); ?>

保存。

打开浏览器,输入 http://localhost/info.php ,如果一切不出意外的话,即可看到熟悉的PHPinformation的页面!

第三步:MySQL的安装

首先是下载MySQL,这个iOS可没有自带,网址如下:

http://dev.mysql.com/downloads/mysql/ 真佩服老外做的东西,几十年如一日,网址永不变。

版本无穷多,注意以下几个细则:

  • 看准操作系统,iOS
  • 看准是否是最新版本,一般上面是最新版本
  • 看准格式,DMG Archive的应该更适合iOS下小白们的安装
  • 看准适应硬件,32位还是64位的。Mac自然选64位的。

看准了,免得下了用不了,恼火。

目前我下的版本是:

Mac OS X 10.10 (x86, 64-bit), DMG Archive 5.7.9 322.9M

300多M,得花一点时间,速度不算快。

下载完毕,单击dmg文件,说解压缩会有四个文件,但我的版本好似只看到一个文件,也没有刻意去关注了。

杀千刀的,居然在MySQL 5.7版本开始,不再默认位空密码,而是生成一堆杂碎密码。我手贱,一下子点没了,现在花了几个小时在搞怎么找回这个密码。

安装之后,可以在系统偏好设置中选择启动或者关闭MySql。

在终端输入下面的命令,这里修改密码为12345,也可为其他,自定义即可

/usr/local/mysql/bin/mysqladmin -u root password 12345

为了方便,设置别名也是不错的做法,就好似DOS下的path一样

alias mysql=/usr/local/mysql/bin/mysql

再来一个MySQLadmin的

alias mysqladmin=/usr/local/mysql/bin/mysqladmin

MySQL安装完毕。

第四步:PhpMyAdmin

1、下载phpMyAdmin,在网址http://www.phpmyadmin.net/home_page/downloads.php中选择合适的版本下载。

版本很多,但选择并不困难,主要看:选择最新版的,选择多语言的(如果英文足够牛也可以选择只要英文的),选择自己熟悉的压缩方式的。

2、将下载好的文件解压后,放进/Users/lintianyu/MyWebRoot/这个Web根文件夹中,并将后面的一大堆后缀删除,直接命名为phpmyadmin,便于自己访问。

3、复制/Users/lintianyu/MyWebRoot/phpmyadmin中的config.sample.inc.php,并命名为config.inc.php,并放在当前文件夹下。(它之前自己都没有个config.inc.php吗?奇怪)

4、编辑config.inc.php,修改其中的连接信息

1 \'$cfg[\'Servers\']]$i][\'host\'] = \'localhost\';
2 $cfg[\'Servers\']]$i][\'host\'] = \'127.0.0.1\';
3 \'为什么要修改,差别何在我也没搞清楚

然后修改连接密码。如果不想输入密码,则按如下方式修改成为false

1 $cfg[\'Servers\'][$i][\'AllowNoPassword\'] = false

在浏览器中输入 http://localhost/phpmyadmin,输入用户名"root",和刚刚自己所更改的密码,如果未更改密码,则按照上一步骤中的无密码操作,然后就可以直接登陆了。

大功告成!