Kys*_*lik 51 php homebrew php-gd osx-yosemite osx-elcapitan
请注意以下步骤安装最新的PHP 5.5.x.
要检查是否已安装gd和mcrypt $ php -m用于显示已编译的模块,如果缺少所需的模块,请继续,请参阅接受的答案.
所以,Apple安装了GD(你正在使用他们的PHP构建,这很好),但不包括对PNG的支持.
如果出现以下情况,您肯定缺少"完整" gd(带png支持)模块: imagecreatefrompng()函数丢失.
"Call to undefined function imagecreatefrompng()"

使用已接受的答案安装brew 并使用gd安装省略部分(除非您需要),并使用以下步骤:
$ brew search mcrypt$ brew install php55-mcrypt$ php -m | grep mcrypt查看brew-php-switcher并按照说明操作.
Jps*_*psy 81
你是对的,Yosemite的内置PHP没有PNG和FreeType支持.
更新2015/10为El Captian:使用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
Run Code Online (Sandbox Code Playgroud)
下一个命令将安装Homebrew包管理器系统:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)
该脚本解释了它将做什么,然后在它执行之前暂停.
下一个要输入的命令是一种系统状态测试:
brew doctor
Run Code Online (Sandbox Code Playgroud)
这将检查Homebrew安装的基础知识.
我收到一条警告"你安装了MacPorts或Fink:/ opt/local/bin/port ...",我成功地忽略了它.;)
现在设置homebrew/dupes tap,它具有我们需要的依赖项:
brew tap homebrew/dupes
Run Code Online (Sandbox Code Playgroud)
设置homebrew/versions tap,它也有我们需要的依赖项:
brew tap homebrew/versions
Run Code Online (Sandbox Code Playgroud)
然后运行以下命令:
brew tap homebrew/homebrew-php
Run Code Online (Sandbox Code Playgroud)
现在您已准备好最终构建PHP.有关可用配置选项的列表,您可以运行以下其中一个:
brew options php55
brew options php56
Run Code Online (Sandbox Code Playgroud)
但我只是使用默认值.
要做到这一点进入ONE这两个,这取决于你的需求:
brew install php55
brew install php56
Run Code Online (Sandbox Code Playgroud)
(这需要一段时间,请耐心等待!)
在Yosemite(10.10.5)上安装php56(5.6.x)时有一个bug请在github上看到这个问题.使用
brew install php56 --without-ldap来代替.
如果您收到类型为"找不到OpenSSL"的错误,则表示您没有像我在开始时告诉您的那样安装Xcode命令行工具.;)继续,安装它们并重新运行最后一个命令.
PHP现在已经构建,脚本将以一些有关如何使用它的细节结束:
打开httpd.conf文件(应该位于/private/etc/apache2/httpd.conf),并通过添加使PHP ONE这两条线的,这取决于您刚安装上的PHP版本:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)
不要忘记注释掉Yosemite自己的PHP版本中可能存在的任何现有的LoadModule php5_module ...行!
重启Apache
sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
您可以在以下位置找到新的php.ini文件:/usr/local/etc/php/5.5/php.ini
请享用!
Pat*_*nio 21
来自@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
| 归档时间: |
|
| 查看次数: |
49091 次 |
| 最近记录: |