AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 42573
Accepted
mikl
mikl
Asked: 2009-07-19 11:50:32 +0800 CST2009-07-19 11:50:32 +0800 CST 2009-07-19 11:50:32 +0800 CST

在 FreeBSD 上处理来自 PHP 的 PNG 图像时出现奇怪的 GD 错误

  • 772

我的 FreeBSD 7.1 服务器有问题。PHP 的 GD 实现不再适用于 PNG 图像。每当系统尝试使用 PNG 图像时,我都会收到以下三个错误消息:

[2009 年 7 月 18 日星期六 21:41:15] [错误] [客户端 90.34.34.34] PHP 警告:imagecreatefrompng() [function.imagecreatefrompng]:gd-png:致命的 libpng 错误:[00][00][00][ 00]:第 44 行 /usr/storage/www/private/mikkel.hoegh.org/modules/acquia/imageapi/imageapi_gd.module 中的未知关键块,参考:http://mikkel.hoegh.org/admin/build /imagecache/3
[2009 年 7 月 18 日星期六 21:41:15] [错误] [客户端 90.34.34.34] PHP 警告:imagecreatefrompng() [function.imagecreatefrompng]:gd-png 错误:setjmp 在 /usr/storage/www/private 中返回错误条件/mikkel.hoegh.org/modules/acquia/imageapi/imageapi_gd.module 第44行,参考:http://mikkel.hoegh.org/admin/build/imagecache/3
[2009 年 7 月 18 日星期六 21:41:15] [错误] [客户端 90.34.34.34] PHP 警告:imagecreatefrompng() [function.imagecreatefrompng]: 'sites/mikkel.hoegh.org/files/imagecache_sample.png' 不是第 44 行 /usr/storage/www/private/mikkel.hoegh.org/modules/acquia/imageapi/imageapi_gd.module 中的有效 PNG 文件,引用者:http://mikkel.hoegh.org/admin/build/imagecache/ 3

我已经尝试了半天来解决这个问题,我发现的最好的线索是另一个有同样问题的人——不过那里没有解决方案。

有问题的代码相当简单,它只是调用imagecreatefrompng($filename);

我能想到的所有软件包的软件包版本可能是相关的:

  • php5-5.2.10
  • php5-gd-5.2.10
  • png-1.2.37
  • gd-2.0.35_1,1

有什么线索吗?

php freebsd php5 gd
  • 7 7 个回答
  • 6732 Views

7 个回答

  • Voted
  1. Best Answer
    SaveTheRbtz
    2009-07-21T11:15:26+08:002009-07-21T11:15:26+08:00

    在更新之前总是阅读

    /usr/ports/UPDATING
    

    有时您需要进行递归端口升级,即

    portupgrade -fr png-1.2.37
    
    • 1
  2. CyberCr33p
    2009-10-03T00:53:14+08:002009-10-03T00:53:14+08:00

    这个命令解决了我的问题:

    端口升级-fr png-1.2.40

    • 1
  3. Markus
    2010-01-08T02:12:05+08:002010-01-08T02:12:05+08:00

    如果您使用的是 portmaster,这将起作用:

    portmaster -dbrR png-1.2.40
    
    • 1
  4. John Smith
    2012-01-17T23:36:26+08:002012-01-17T23:36:26+08:00

    这是 freebsd 中非常古老的错误。

    在extensions.ini字符串extension=gd.so中需要是第一行。

    • 1
  5. Saurabh Barjatiya
    2009-07-19T22:15:26+08:002009-07-19T22:15:26+08:00

    PNG图像可能有问题。尝试使用非常小的黑白 PNG 图像的非常基本的代码。如果这也会在日志文件中产生相同的错误,那么您可以考虑从源代码安装 PHP,以便将 php_gd 等模块更新到最新版本。

    您也可以尝试设置

    error_reporting  =  E_ALL
    display_errors = On
    

    以防他们在屏幕上给出更好的错误信息。请记住display_errors=Off在生产服务器上完成调试后进行。

    • 0
  6. Geoff Fritz
    2009-07-20T18:49:40+08:002009-07-20T18:49:40+08:00

    我最近遇到了类似的问题。在我的 7.2 系统上升级其中一个软件包后,我的 phpBB2 安装上的 gd 驱动的验证码停止工作。我重新构建了所有的 php 端口,它自己修复了。

    我知道这有点模糊,但有时由于依赖关系失控,几个月的增量升级会出现问题。

    • 0
  7. Jimbo
    2009-07-21T10:24:03+08:002009-07-21T10:24:03+08:00

    没有答案,但因为我不能发表任何评论;我有一个 7.2 系统,有完全相同的问题和完全相同的版本。甚至尝试降级 libpng 无济于事。从 7.1 进行二进制升级。到 7.2 非常轻松且非常值得,但不要认为这会解决问题 :-)

    我还安装了 pecl-imagick 以查看是否可以使用它,但令我惊讶的是,我遇到了类似的错误。我尝试了许多其他依赖于 libpng 的软件,但它们都可以加载在 php5-gd 和 pecl-imagick 中给出错误的图像。这让我排除了 libpng,起初我认为这是问题所在。我的下一个猜测是 php API 中的某些内容发生了变化,我将尝试降级 php 并查看是否有帮助。

    • 0

相关问题

  • 如何在 FreeBSD 中查找文件

  • 如何在 IIS 6 中免费重写 url (ala mod_rewrite)?

  • 如何以尽可能少的依赖项在 FreeBSD 上安装 Java JRE

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve