Yosemite坑真多

Mac OS 10.10用作开发机可能有诸多问题,此文将我遇到的问题及解决方案收集于此。

本着顶配解千愁的指导原则,入职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 有点问题,需要重新链接一下。正确的解决方案是

  1. 安装XCode最新版
  2. 安装XCode命令行工具(CLT)最新版
  3. 试一下,不行的话重新链接一下 /usr/include
    sudo ln -s /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
  4. 然后 `brew upgrade` 就可以了

这样搞了之后新的5.5.19的libphp5.so也可以使用了。

丢失PNG支持

如果只是版本低一点,其实是可以忍的。结果Mac OS团队不知道怎么想的,竟然把PHP中的PNG支持去掉了,导致我在本地开发的时候验证码出不来。如前文所述,这次升级本来就有诸多问题,验证码出不来我的第一想法肯定不是看PNG支持。而且,我们一直在用的验证码生成程序中,将生成函数写成 ImagePNG,竟然能运行,也是让我很奇怪……

换用Homebrew安装的5.5.19 libphp5.so之后,问题解决。


暂时遇到这么多问题,日后补充。

作者: meathill

爱编程,爱旅游,爱吐槽。 今年的目标是完成并运营至少一个 Side Project。 《Electron + Vue 实战开发》龟速创作中……

欢迎吐槽,请勿装死

This site uses Akismet to reduce spam. Learn how your comment data is processed.