You are right, Yosemite的内置PHP不支持PNG和FreeType。
更新2015/10,适用于El Captian: 在OS X 10.11 El Capitan中,PNG支持已经回归,但是仍然缺少FreeType。
解决方案
使用Homebrew软件包管理器轻松构建和安装完整的PHP,并在Apache配置中替换它。如果按照以下步骤操作,整个过程只需要大约十分钟。
快速(但完整)的步骤说明
(Note 1: 在此我使用
Homebrew,这是一个适用于OS X的包管理系统。如果你熟悉另一个包管理器
MacPorts,你也可以使用该系统来实现相同的结果。在你的机器上同时使用已有的MacPorts安装和我的Homebrew解决方案也是可能的。)
(Note 2: 如果你想阅读有关安装过程的所有细节,请查看
Homebrew基本安装和
Homebrew PHP安装信息。但是,如果你按照这些步骤操作,你真的不需要那些内容。)
现在我们开始吧...
首先从App Store安装
Xcode。如果你已经安装了它,请再次检查App Store,确保你拥有最新版本!
现在你需要安装
Xcode命令行工具。为此,请打开终端并输入:
xcode-select --install
下一条命令将安装Homebrew软件包管理系统:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这段脚本会先解释它将要做什么,然后暂停执行。
接下来要输入的命令是一种系统状态测试:
brew doctor
这段文字是关于Homebrew安装的基础检查。
我收到了一个警告信息
"You have MacPorts or Fink installed: /opt/local/bin/port ...",但我成功地忽略了它。 ;)
现在设置homebrew/dupes tap,它包含我们需要的依赖项:
brew tap homebrew/dupes
安装homebrew/versions tap,它还包含我们需要的依赖项:
brew tap homebrew/versions
然后运行以下命令:
brew tap homebrew/homebrew-php
现在,您可以开始构建PHP。要获取可用配置选项的列表,请运行以下命令之一:
brew options php55
brew options php56
但是我只是使用默认设置就很好了。
要这样做,请输入以下其中之一,具体取决于您的需求:
brew install php55
brew install php56
(This takes a while, please be patient!)
在Yosemite(10.10.5)上安装php56(5.6.x)时会出现一个错误,请参见github上的
issue。使用
brew install php56 --without-ldap
代替。
如果您收到“无法找到OpenSSL”的错误类型,则表示您尚未按照一开始告诉您的那样安装Xcode命令行工具。 ;)继续安装它们并重新运行最后一个命令。
现在已经构建了PHP,脚本将以有关如何使用它的详细信息结束:
打开httpd.conf(应位于/private/etc/apache2/httpd.conf),并通过添加
这两行中的一个来启用PHP,具体取决于您刚刚安装的PHP版本:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
请不要忘记注释掉任何现有的
LoadModule php5_module...行,这可能是由于Yosemite自带的PHP版本而存在的!请重新启动Apache。
sudo apachectl restart
您的新php.ini文件位于:/usr/local/etc/php/5.5/php.ini
祝您使用愉快!
which php
的输出进行比较吗? - ItalyPaleAle/usr/bin/php
。 - Kyslik