由于mod_fcgid.so中的“undefined symbol:unixd_config”,Apache Restart在升级到Apache 2.4和PHP 5.6后失败。

我试图在虚拟服务器上升级Apache和PHP,因为安装的版本已经过时。 服务器运行Ubuntu 12.04LTS。 我使用了一个shell进行升级,Plesk也安装在服务器上。

按照这个网站上的步骤,Apache 2.2被Apache 2.4取代,PHP 5.3被PHP 5.6取代。 当我被问及在安装过程中要做什么时,我也用新的replace了apache2.conf文件。 之后,我对新老做了一个比较, 认为新的应该没有问题。 php -v返回一个5.6版本。 sudo service apache2 restart失败,出现以下错误:

  * Starting web server apache2 * * The apache2 configtest failed. Output of config test was: apache2: Syntax error on line 231 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/fcgid.load: Cannot load /usr/lib/apache2/modules/mod_fcgid.so into server: /usr/lib/apache2/modules/mod_fcgid.so: undefined symbol: unixd_config 

我明白,Apache 2.2使用unixd_config ,并被Apache 2.4中的ap_unixd_config所取代。

dpkg -l | grep libapache dpkg -l | grep libapache返回:

  Installiert: 2.4.12-1+deb.sury.org~precise+5 Kandidat: 2.4.12-1+deb.sury.org~precise+5 Versionstabelle: *** 2.4.12-1+deb.sury.org~precise+5 0 500 http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/ precise/main i386 Packages 100 /var/lib/dpkg/status 2.2.22-1ubuntu1.10 0 500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ precise-updates/main i386 Packages 500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ precise-security/main i386 Packages 2.2.22-1ubuntu1 0 500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ precise/main i386 Packages 

(我发现这个命令在这个论坛的德语语言线程中 ,有人有类似的问题。)

我的猜测是,旧的Apache版本必须删除。 如果这是真的,我该怎么做?

你需要为Apache 2.4编译mod_fcgid