在 CentOS 5.9 上安装 PHP 5.2:未定义符号 php_sig_jpg

在 CentOS 5.9 上安装 PHP 5.2:未定义符号 php_sig_jpg

我已经从源代码安装了 PHP 5.2(不幸的是,我们正在移动一些需要 5.2 的站点)到 CentOS 机器上。PHP 是从源代码编译的,但是当我尝试启动 apache 时,我收到以下错误:

Starting httpd: httpd: Syntax error on line 210 of /etc/httpd/conf/httpd.conf: 
Syntax error on line 1 of /etc/httpd/conf.d/php.conf: 
Cannot load /etc/httpd/modules/libphp5.so into server: 
/etc/httpd/modules/libphp5.so: undefined symbol: php_sig_jpg

我也安装了 libpng、libpng-devel、gd、gd-devel、libjpeg 和 libjpeg-devel,但不知道是什么原因导致的。

编辑:添加 /etc/httpd/conf.d/php.conf 的内容

LoadModule php5_module modules/libphp5.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

答案1

看起来您缺少 gd 库的某些部分。使用以下命令检查您拥有的 php/gd 相关包:

rpm -qa| grep -iE php\gd |sort

如果您还没有这样做,您可能希望使用源 RPM 来构建自定义 RPM 包。这通常是在基于 RedHat 的发行版上从源构建和部署的一种不太麻烦的方法。

相关内容