优胜美地/ El Capitan php-gd + mcrypt安装
如何在Yosemite 10.10中安装/启用php-gd和mcrypt – PHP 5.5.14 build?
请注意以下步骤安装最新的PHP 5.5.x
要检查您是否安装了gd和mcrypt,请使用$ php -m
以模块forms编译,如果缺less所需的模块,请继续阅读已接受的答案 。
GD
所以,苹果公司安装了GD(而且你正在使用他们的PHP版本,这很好),但是不包括对PNG的支持。
如果缺lessimagecreatefrompng()函数,你肯定会缺less“full” gd(带有png支持)模块。
"Call to undefined function imagecreatefrompng()"
这个Mcrypt
使用接受的答案安装brew,并使用gd安装省略部分(除非您需要),并使用以下步骤:
- 做search –
$ brew search mcrypt
- select你想要的PHP版本
- 安装 –
$ brew install php55-mcrypt
- 确认使用
$ php -m | grep mcrypt
$ php -m | grep mcrypt
想要在PHP版本之间切换?
检查brew-php-switcher并按照说明进行操作。
你是对的,优胜美地的内置PHP没有PNG和FreeType支持。
El Captian更新2015/10:使用OS X 10.11 El Capitan PNG支持已恢复,但FreeType仍然丢失。
解
使用Homebrew软件包pipe理器轻松地构build和安装完整的PHP,并将其replace为Apache的configuration。 如果您按照以下步骤进行,整个过程只需要十分钟。
一个快速(但完整)走过
(注1:我在这里使用Homebrew是一个OS X的包pipe理系统,如果你熟悉MacPorts – 另一个包pipe理器 – 你可以得到与该系统相同的结果,也可以并行使用我的Homebrew解决scheme机器上现有的MacPorts安装。)
(注2:如果你想阅读关于安装过程的所有细节,可以看一下Homebrew的基本安装和Homebrew的PHP安装信息,但是如果你按照这些步骤操作,你真的不需要这样做。
现在我们走吧
首先从App Store安装Xcode 。 如果你已经有了,请再次查看App Store,以确保你已经有了最新的版本!
现在您需要安装Xcode命令行工具 。 为此,请打开terminal并input:
xcode-select --install
下一个命令将安装Homebrew软件包pipe理器系统:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
剧本解释了它会做什么,然后在做之前暂停。
下一个进入的命令是一种系统状态testing:
brew doctor
这将检查自制程序安装的基本知识。
我收到了一个警告: “你已经安装了MacPorts或Fink:/ opt / local / bin / port …” ,我忽略了这一点。 ;)
现在设置我们需要依赖关系的自制软件/ dupes tap:
brew tap homebrew/dupes
设置自制软件/版本的水龙头,也有我们需要的依赖关系:
brew tap homebrew/versions
然后运行以下命令:
brew tap homebrew/homebrew-php
现在您已经准备好最终构buildPHP。 有关可用configuration选项的列表,您可以运行下列其中一个选项:
brew options php55 brew options php56
但我很好,只是使用默认值。
为此,请根据您的需要input以下两项之一:
brew install php55 brew install php56
(这需要一段时间,请耐心等待!)
在Yosemite(10.10.5)上安装php56(5.6.x)的时候有一个bug,请在github上看到这个问题 。 使用
brew install php56 --without-ldap
来代替。
如果你得到一个types为“找不到OpenSSL的”的错误,你还没有安装Xcode命令行工具,正如我在开始时所说的那样。 ;)继续,安装它们并重新运行最后的命令。
PHP现在已经构build完毕,脚本将以一些关于如何使用它的细节结束:
打开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 …行,可能是从优胜美地自己的PHP版本!
重新启动Apache
sudo apachectl restart
您的新php.ini文件可以在以下位置find: /usr/local/etc/php/5.5/php.ini
请享用!
@Jpsy的回答很好,但是还有另外一个select,来自liip的人, 在这里 。 这是一个为Yosemite预先构build的PHP包(旧版本也可以),但它只是一行代码:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
之后,一切都准备好按预期工作。 该安装附带的configuration非常适合Symfony 2的开发,但是对于其他用例应该可以正常工作。
最后,如果您还需要使用更新的PHP CLI,但是您不想使用操作系统附带的PHP版本,那么您也可以添加到.bash_profile
或类似的代码行中:
export PATH=/usr/local/php5/bin:$PATH
我没有足够的代表发表评论,但如果您使用OS X服务器优化软件(版本4从App Store)编辑的文件是:
/library/server/web/config/apache2/httpd_server_app.conf
我现在看起来像这样,并确认它是从自制软件使用PHP 5.6后工作。
#LoadModule php5_module libexec/apache2/libphp5.so LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
标准的Apache随Yosemite一起提供的文件进行更新
sudo brew install php55
在/etc/apache2/httpd.conf
请注意,php.ini的位置也发生了变化。 与Yosemite合作的标准版本位于/etc/php.ini,自制版本位于/usr/local/etc/php/5.5/php.ini