在此记录一下在mac上搭建web开发环境的过程。
全程使用HomeBrew安装,最好使用,否则可能下载失败。所有命令如果执行权限不足,可以添加sudo获取root权限。
首先安装HomeBrew,根据官网介绍,在终端输入:
xxx$:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
已经安装了的推荐输入:
xxx$:brew update
检测更新。
HomeBrew安装的软件一般放置路径为:
/usr/local/Cellar/
安装php:
以下命令会输出所有的可用php模块,包括好多个版本,自己选择一个
xxx$:brew search php
这里我选择5.6版本
下面输入:
xxx$:brew tap josegonzalez/php
xxx$:brew tap homebrew/dupes
如果你不执行homebrew/dupes,可能会得到错误:No available formula for zlib
查看以下安装选项:
xxx$:brew options php56
会出现一个列表,with或者without,根据需要选择要安装的模块:
xxx$:brew install php56 --with-fpm --with-imap --without-apache --with-debug --with-pcntl
选择–with-fpm是因为后面安装的Nginx需要此模块,选择–with-pcntl则是我的一个项目编译需要这个模块
下面就是等待下载安装,如果安装的时候出现以下的错误:
brew configure: error: cannot run C compiled programs
这可能有几种原因:
- Mac OS版本低了
- Xcode不是最新的
- Command Line Tools 没有安装或者没有更新到最新版本
本人的安装出现这个错误的原因是第三条,解决办法:
xxx$:xcode-select —install
解决完上述问题,在此运行安装命令,应该会正常安装编译了,耐心等待。
安装完成后,输入以下命令测试以下,
xxx$:/usr/local/Cellar/php56/5.6.15/bin/php -v
PHP 5.6.15 (cli) (built: Nov 10 2015 20:36:47) (DEBUG)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
则表示安装php成功,再测试以下php-fpm:
xxx$:/usr/local/Cellar/php56/5.6.15/sbin/php-fpm -v
PHP 5.6.15 (fpm-fcgi) (built: Nov 10 2015 20:36:51) (DEBUG)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
则表示php-fpm安装成功,之所以使用绝对路径限定命令,是因为mac本身自带了php,直接调用php -v是检查的系统的php的版本,可以使用which php查看命令所在的目录。
将php-fpm加入启动列表:
xxx$:cp /usr/local/Cellar/php56/5.6.15/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
// 开机启动
xxx$:launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
// 取消开机启动
xxx$:launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
下面安装Nginx:
brew install nginx
安装完成后测试一下:
xxx$:nginx -v
nginx version: nginx/1.8.0
将nginx加入启动列表:
xxx$:cp /usr/local/Cellar/nginx/1.8.0/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
// 开机启动
xxx$:launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
// 取消开机启动
xxx$:launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
nginx的默认配置文件是:
/usr/local/etc/nginx/nginx.conf
使用vim打开编辑,
- http->server下可以看到监听端口号,默认是8080
- http->server->location中可以设置nginx的工作根目录,只要修改root的值,还可以编辑响应的index文件,可以添加index.php
- 将php配置部分的注释符号去掉:
location ~ \.php$ {
root your web root dir;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
root的值设置为上一步设置的root值即可
这样nginx-php环境就搭建好了,在你的web目录下添加一个phpinfo()文件xxx.php,在浏览器输入localhost:8080/xxx.php
最后介绍一下把系统默认的php版本更换成我们安装的php的一种方法:
xxx$:cd /usr/local/
xxx$:rm -rf php5
xxx$: ln -s /usr/local/Cellar/php56/5.6.15/ php5
其实你查看一下php5原来的内容,它是系统php的软链接,现在我们只是把它换成brew安装的php而已,如果出现兼容问题的话,可以再将它链接回去,系统的php安装目录就是/usr/local/,如果你使用ls -l查看这个目录,应该可以看到类似这样的目录:
php5-5.5.27-20150710-230047