Yosemite / El Capitan php-gd + mcrypt installation

如何在Yosemite 10.10 - PHP 5.5.14版本中安装/启用php-gdmcrypt

请注意,以下步骤安装最新的 PHP 5.5.x

要检查您是否已安装gd和mcrypt,请使用在模块中显示编译,如果您缺少所需的模块,请继续,请参阅接受的答案$ php -m


通用数据

所以,苹果安装了GD(你正在使用他们的PHP版本,这很好),但不包括对PNG的支持。

你肯定缺少“full”gd(支持png)模块,如果:imagecreatefrompng()函数丢失。

"Call to undefined function imagecreatefrompng()"

enter image description here


密码

使用可接受的答案安装 brew 并省略 gd 安装的部分(除非您需要它),然后使用以下步骤:

  1. 做搜索 -$ brew search mcrypt
  2. 选择您想要的PHP版本
  3. 安装 -$ brew install php55-mcrypt
  4. 确认使用$ php -m | grep mcrypt

想要在 PHP 版本之间切换?

查看 brew-php-switcher 并按照说明进行操作。


答案 1

你是对的,Yosemite的内置PHP没有PNG和FreeType支持。
El Captian 的 2015/10 更新:使用 OS X 10.11 El Capitan PNG 支持已回归,但 FreeType 仍然缺失。

溶液

使用Homebrew包管理器轻松构建和安装完整的PHP,并在Apache的配置中替换它。如果您按照以下步骤操作,整个过程只需大约十分钟。

快速(但完整)的演练

(注1:我在这里使用Homebrew,一个适用于OS X的软件包管理系统。如果您熟悉MacPorts(另一个软件包管理器),则可以使用该系统获得相同的结果。也可以将我的 Homebrew 解决方案与计算机上的现有 MacPorts 安装并行使用。
(注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

这将检查自制软件安装的基础知识。
我收到一条警告“你安装了 MacPorts 或 Fink:/opt/local/bin/port...”,我成功忽略了它。;)

现在设置自制/傻瓜分路器,它具有我们需要的依赖项:

brew tap homebrew/dupes

设置自制/版本点击,其中也有我们需要的依赖项:

brew tap homebrew/versions

然后运行以下命令:

brew tap homebrew/homebrew-php

现在,您已准备好最终构建 PHP。有关可用配置选项的列表,您可以运行以下选项之一:

brew options php55
brew options php56

但是我只是使用默认值就好了。
为此,请根据您的需要输入以下两个之一

brew install php55
brew install php56

(这需要一段时间,请耐心等待!

在Yosemite(10.10.5)上安装php56(5.6.x)时,有一个错误,请在github上看到这个问题。请改用。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

享受!


答案 2

@Jpsy的答案很好,但还有另一种选择,来自liip的家伙,在这里。这是一个为Yosemite预先构建的PHP包(旧版本也可以),但它只是一行代码:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

之后,一切都准备好按预期工作。该安装附带的配置非常适合Symfony 2开发,但它应该适用于其他用例。

最后,如果您也需要使用更新的PHP CLI,但又不想使用操作系统附带的PHP版本,那么您也可以将以下代码行添加到您的或类似代码中:.bash_profile

export PATH=/usr/local/php5/bin:$PATH


推荐