gd消失从apache服务器

我们有一个Web服务器(Debian,Apache2,PHP4和MySQL)在Intranet中使用。 主要用于为存储在数据库中的数据dynamic生成数据和graphics(使用jpgraph)提供页面。

它已经工作了好几年,但本周我们发现,与图表有关的所有东西都不起作用。 这包括jpgraph和gnuplot生成的数字,都依赖于库gd。 在phpinfo()中也没有引用“gd”,任何直接调用gd函数(如gd_info())都会导致错误。

我们试图重新安装php4-gd(并重新启动Apache),但没有任何结果。 显然我们做错了什么,但是我们不知道它是什么。

我们能做些什么? 有没有其他的诊断方法可以解决问题?

谢谢。

问题解决了。 检查apache日志/var/log/apache2/error.log每次重新启动后检测到以下行:

PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20050606+lfs/gd.so' - /usr/lib/php 4/20050606+lfs/gd.so: undefined symbol: gdImagePngCtx in Unknown on line 0

问题是通过添加行: extensions_dir = "/usr/lib/php4/20050606+lfs//etc/php4/apache2/php.ini并执行bugs.debian.org中描述的内容来解决的 ,基本上是从/ usr / local / lib中移走所有libgd.so *库(?)。

不要问我为什么,但在Apache恢复正常后,再次正常工作。 仍然不知道我们做了什么…当然,可能是一个完整的服务器重新安装和升级的时间。

感谢您的关注。

假设你把所有东西都保存在包中,那么在/ /var/log/dpkg.log查看任何在所有东西都分崩离析的时候更改(安装,升级或删除)的包。

另一个可能的问题是,gd插件的php.ini中的extension行已经stream浪了; 它应该在/etc/php4/apache2/php.ini (或类似的)的底部; 添加它,如果它丢失,并重新启动Apache,请看哪里得到你。

是否有可能在机器上安装了多个版本的PHP,一些是使用gd支持,一些是没有的,而且你链接到了错误的版本?