mac安装php开发环境
这两天公司要求不能继续使用我的个人笔记本(mac),因此不得已要为公司发的mac本重新装一下php开发环境。
之前装我的mac时稀里糊涂的,并没有把安装步骤大概记录下来,这次返工也是头疼的要命。好在使用mac已经好一阵子了,因此这次安装过程比预想的要轻松的多,花费了我大概零零散散1天的时间。
安装homebrew
mac最大的问题就是包管理工具的特殊性,yum和apt-get都很熟了,然而mac要用brew这个陌生的家伙。
访问这里,按照命令安装brew,不需要sudo。
1 |
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
配置代理
如果你觉得brew安装很慢,可以让它走shadowsocks的socks5代理:
1 |
export ALL_PROXY=socks5://127.0.0.1:1080 |
加载扩展包
像php这种程序,brew官方默认是没有的,需要加载第三方的包,php的地址在这里。
按照文档所述,只需要通过brew tap添加一下就行:
1 |
brew tap homebrew/php |
安装mysql
一句话安装:
1 |
brew install mysql |
一句话启动:
1 |
brew services start mysql |
安装redis
一句话安装:
1 |
brew install redis |
一句话启动:
1 |
brew services start redis |
安装nginx
一句话安装:
1 |
brew install nginx |
配置路径在:/usr/local/etc/nginx/nginx.conf。
必须要注意修改user的配置,保证nginx的worker进程有权限访问你的目录:
1 |
user 你的用户名 staff; |
再就是各种nginx log,需要你指定到自己的目录下,不要采用默认路径,因为nginx运行时会切换到你的用户,而你的用户对/usr下是没有写权限的。至于其他nginx配置就看你自己安排了。
控制nginx的方法没有特殊性:
1 2 |
sudo nginx #启动nginx sudo nginx -s reload #重新加载配置 |
之所以用sudo是因为我的nginx绑定了80端口要求root权限。
安装php
学到一招实用的命令,可以查看某个包的安装选项:
1 |
brew options php55 |
我挑了一下必要的参数,最后安装命令如下:
1 |
brew install php55 --with-homebrew-curl --with-homebrew-libxml2 --with-homebrew-libxslt --with-imap |
然后添加一下环境变量到/etc/bashrc,因为系统默认自带了php会影响我们使用brew的php:
1 |
export PATH="$(brew --prefix homebrew/php/php55)/bin:$(brew --prefix homebrew/php/php55)/sbin:$PATH" |
然后安装一下redis扩展,其他扩展你都可以照葫芦画瓢的安装:
1 |
brew install php55-redis --build-from-source |
一定要注意build-from-source,它从redis扩展源码编译so,如果你不加它十有八九会下载到一个编译好的so,极有可能与php版本二进制不兼容,如果你已经这样做了记得先brew uninstall php55-redis卸载它,再带上该参数重新安装就行了。
搞定这一切后,先查看一下php能否正常加载所有的扩展:
1 |
php -m |
如果有任何报错,你就需要检查一下是不是在安装php的时候多加了一些乱七八糟不知道含义的参数,或者在安装php扩展的时候没有使用build-from-source,总之你一定擅作主张了。
如果想重新安装:一定要brew uninstall先删除,再重新brew install,用brew reinstall这种歪门命令是不行的。
当你安装php后,需要修改/usr/local/etc/php/5.5/php.ini,比较重要的改动是时区:
1 |
date.timezone:Asia/Shanghai |
另外,别忘记把/usr/local/etc/php/5.5/php-fpm.conf,/usr/local/etc/php/5.5/php.ini里的各种log日志配置到用户目录下,这样才有权限写入。
由于php-fpm启动在9000端口,因此不需要sudo启动,它会直接以当前用户运行,有充足的权限访问用户目录下的文件,因此你也不必费心去修改php-fpm.conf里的user和group了:
1 |
php-fpm -D |
有任何安装问题和困扰,欢迎留言,我会及时帮助你。
如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~
