用--with-apxs来编译PHP时,我得到了奇怪的错误信息

有两种方法检查。第一种,当Apache建立apxs Perl程序时,因为一些原因,它没有包含正确的编译参数。编辑你apxs(在/usr/local/apache/bin/apxs或者 /usr/sbin/apxs)并检查下列几行:

  1. my $CFG_CFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
  2. my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
  3. my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl

如果你看到上面那样子,就是你发生错误的地方了,改成下面几行的样子:

  1. my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
  2. my $CFG_LD_SHLIB = 'gcc'; # substituted via Makefile.tmpl
  3. my $CFG_LDFLAGS_SHLIB = q(-shared);# substituted via Makefile.tmpl

第二种可能的原因只有在RedHat 6.1上发生。RedHat 上的apxs配置有问题,如下行:

my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install

如果你看到上面那行,应该改成下面这行:

my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install