又是一篇杂谈,只是用来记录一些不成规律的小东西。
最近因为mac系统升级,原先被删掉的apache2突然又冒出来,然后memcache找不到,php.ini修改失效等等,各路奇葩问题都显现出来。
心伤~
再三折磨后,决定一击毙之,全部删除php、nginx、apache、pear、macport等等,改用homebrew重新装。
过程相当简单,效果也不错,homebrew显然优点很明显,编译安装后位置集中,统一放在/usr/local/下,配置在/usr/local/ect/下,执行文件放在/usr/local/bin或者sbin下,源文件放在
/usr/local/Cellar/下。很棒!
一、安装homebrew也很简单,到官网复制一个命令,自动安装。(官网地址:http://brew.sh/index_zh-cn.html)
二、安装后,
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install git
(安装git这个我没试,因为之前已经装过了,不知道是否必须装) brew update
三、如果之前已经装过macport、pear、nginx、apache等等的,最好运行brew doctor看一下。
brew doctor
它会告诉你,哪些文件需要删除,哪些对以后的安装有影响。(很重要)
四、brew search 命令搜索你要安装的东西。
brew search nginx (将列出相关nginx)或者 brew search php (列出所有php相关)
五、brew install 命令直接安装
brew install nginx
六、查看终端输出,千万别一看到安装成功,没有error,就觉得结束了,要看看里面的英文,很多时候会有一些事要做。
比如:nginx要开机启动相关的一些命令或者php命令要建一下软连接之类,它会有提示和具体命令,只要复制粘贴过来,运行一下即可。easy~
七、开启,sudo nginx
重启:sudo nginx -s reload
八、安装php
brew install php55 --with-fpm //一定要带上fpm,默认是不安装的,到时nginx报502 网关错误就蛋疼鸟~
备注:
1、很多时候,brew安装失败,都是因为之前的残余文件没删干净,导致安装失败,深有体会,故此特作提醒,多用brew doctor。
为了加固记忆警醒后人,举一小例子。比如pear没删干净,安装brew install php55 --with--fpm ,报错,pear没删干净,要删掉Users目录下pear.conf和
.pearrc,以及/usr/local/etc 和lib 还有share中。
2、有时安装成功,但link不成功,brew会要求你运行brew link **** (某个formula),但这时很容易报错,因为往往是brew自动执行不了,才要你手动link。
这时我们可以用:brew link ****(比如php55) ---overwrite 。一般都可以解决。如果某些文件实在权限太高,无法覆盖,根据提示挨个删除或者修改权限。
3、对于安装php55或其他一些软件,需要带上附件的,可以通过以下命令查看。
brew options php55
备注:man php-fpm 后可以看的
4、很多502 网关错误,都是因为php-fpm没调起来~ 很常见~ 各位注意~
5、brew 安装完php和php-fpm后,会将/usr/local/Cellar/php55/5.5.11/ 下的bin或者sbin中的php、php-cgi、php-fpm、phpize等等,生成硬链接到/usr/bin或者sbin中,同时会生成软链接到 /usr/local/bin或者sbin中,软链接用ls -l可以看出来,但硬链接看不出来哦~
相关链接:
http://dhq.me/mac-install-nginx-mysql-php-fpm //good
http://lukin.cn/p/MAC_OSX_Install_Nginx_PHP-FPM.html
http://www.kimhou.com/?p=302