![在 CentOS 5.9 上安装 PHP 5.2:未定义符号 php_sig_jpg](https://linux22.com/image/612092/%E5%9C%A8%20CentOS%205.9%20%E4%B8%8A%E5%AE%89%E8%A3%85%20PHP%205.2%EF%BC%9A%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%AC%A6%E5%8F%B7%20php_sig_jpg.png)
我已经从源代码安装了 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 的发行版上从源构建和部署的一种不太麻烦的方法。