gd-jpeg:JPEG 库报告不可恢复的错误:错误的 JPEG 库版本:库为 80,调用者需要 62

gd-jpeg:JPEG 库报告不可恢复的错误:错误的 JPEG 库版本:库为 80,调用者需要 62

正如标题所述,我在调用时在 Apache 日志文件中收到上述错误

imagecreatefromjpeg()

在 PHP 中。

跑步:

apt-get install libjpeg62-dev

告诉我它已经是最新版本了。

libjpeg.so.62

也存在于 /usr/lib 中

(运行 Ubuntu)

答案1

确保 /usr/lib/libjpeg.so.62 实际上是您认为的文件(即没有被某些东西/某人覆盖)类似的东西: for f in find . -type f -name "*jpeg*"; do md5sum $f | uniq ; done 将是一个好的开始(您似乎有另一个版本的 libjpeg,因此出现错误)

答案2

尝试找到 php 用于 gd 函数的 gd.so 文件(如果它与 ubuntu 包一起安装,它应该位于 /usr/lib/php5/20060613)并输入:

ldd gd.so

您将看到该对象正在使用的所有共享库:

linux-vdso.so.1 =>  (0x00007fff8f7ed000)
libgd.so.2 => /usr/lib/libgd.so.2 (0x00007f813cfcc000)
libt1.so.5 => /usr/lib/libt1.so.5 (0x00007f813cd6f000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f813caea000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f813c7de000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0x00007f813c5cd000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f813c3a7000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f813c190000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007f813bf6e000)
libc.so.6 => /lib/libc.so.6 (0x00007f813bc1a000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f813b9e5000)
libm.so.6 => /lib/libm.so.6 (0x00007f813b762000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0x00007f813b560000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f813b344000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f813b140000)
/lib64/ld-linux-x86-64.so.2 (0x00007f813d43a000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f813af16000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f813ad14000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f813ab0f000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f813a8f2000)

检查 libjpeg 是否指向正确的版本。如果不是,你应该找出原因(提示 LIBRARY_PATH)

相关内容