本着顶配解千愁的指导原则,入职2年半之后,借着南迁广州的机会,我向公司申请购置一批新机器。同配置笔记本性能远远落后于台式机,所以我自然而然的选择了顶配iMac 27作为主力开发机。升级CPU和内存的版本没有现货,等机器送到,大约是10月13日。
关注IT产品尤其是苹果产品的同学可能记得,16日苹果开发布会,推出视网膜屏的iMac,连CPU带显卡甚至屏幕都有大幅升级……顶配的日子只持续了3天……哭昏在厕所……
这还不是最惨的。更早的时候,苹果发布了Mac OS 10.10优胜美地(Yosemite),直接安装在新机器里,我这台自然也是。新系统有诸多纸面所载的改变,我就不多说了,跟本文关系不大;我只说跟开发相关的这部分。
403错误
升级后的Mac OS集成Apache 2.4.9,里面默认启用了authz
模块,于是增加虚拟主机的时候,<DIERECTORY>
配置里面必须写成
Require all granted
不然就会报403错误。我以前处理403都是暴力改权限,这次恨不得把/
的权限都改了都没用,后来终于google到解决方案。
不能使用Homebrew安装的php,以及不能用Homebrew升级php
我有新版本癖,每周三次更新——使用开源产品的好处就是绝对不怕找不到更新。当我上周例行更新,发现PHP 5.5.19安装失败,报Cannot find OpenSSL's <evp>
,因为项目紧急所以我只好先不管它。后面配置apache的时候,发现随Homebrew安装的新版libphp5.so不能用,apachectl -t
检查通不过,只好使用系统自带的5.5.14版。
今天又google了下,终于找到解决方案。原因没搞太明白,总之是升级了之后 /usr/include
有点问题,需要重新链接一下。正确的解决方案是
- 安装XCode最新版
- 安装XCode命令行工具(CLT)最新版
- 试一下,不行的话重新链接一下
/usr/include
sudo ln -s /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
- 然后 `brew upgrade` 就可以了
这样搞了之后新的5.5.19的libphp5.so也可以使用了。
丢失PNG支持
如果只是版本低一点,其实是可以忍的。结果Mac OS团队不知道怎么想的,竟然把PHP中的PNG支持去掉了,导致我在本地开发的时候验证码出不来。如前文所述,这次升级本来就有诸多问题,验证码出不来我的第一想法肯定不是看PNG支持。而且,我们一直在用的验证码生成程序中,将生成函数写成 ImagePNG
,竟然能运行,也是让我很奇怪……
换用Homebrew安装的5.5.19 libphp5.so之后,问题解决。
暂时遇到这么多问题,日后补充。
欢迎吐槽,共同进步