升级后,PHP不再支持PNG操作

时间:2014-10-18 18:40:30

标签: php osx-yosemite php-gd

更新到Mac OS X 10.10(Yosemite)并启动Apache支持PHP之后,除了PNG文件上的任何图像操作外,一切都像以前一样工作。我得到一个Call to undefined function imagecreatefrompng(),而对JPEG文件的任何操作都有效。所以GD存在,但不适用于PNG。

phpinfo()中有一行看起来像问题:' - with-png-dir = no'

phpinfo()

来自phpinfo()的GD部分:

Enter image description here

如何让包含的PHP与PNG文件一起使用?

3 个答案:

答案 0 :(得分:23)

这是来自liip,here的人的另一个选择。这是一个为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

答案 1 :(得分:5)

我必须通过Homebrew再次安装PHP 5.5来解决这个问题。相当无痛:

https://github.com/Homebrew/homebrew-php

可以在此处找到安装说明:https://github.com/Homebrew/homebrew-php#usage

我使用了命令brew install php55

不要忘记更新您的httpd.config - 说明将显示在自制软件安装结束时。

答案 2 :(得分:1)

正如@jtotheh所说,安装一个完整的PHP版本,其中编译了PNG和FreeType支持是可行的方法。

如果您不想完成整个过程,我已准备好完整的分步说明作为对类似问题的回答:https://stackoverflow.com/a/26505558/430742