my $CFG_CFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
my $CFG_CFLAGS_SHLIB = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB = 'gcc'; # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared); # substituted via Makefile.tmpl
第二个可能的问题仅可能在在 Red Hat 6.1 和 6.2 中发生。Red Hat
发行的 apxs 脚本坏了。查找这一行:
my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install
如果你看到上面这一行,改成这样:
my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install
最后,如果你重新配置或者重装了 Apache,在 ./configure
之后和 make 之前增加一个 make clean 命令。
在 make 的过程中,在 microtime 中出错,还有很多
RUSAGE_ 之类的东西。
如果 make 时遇到类似这样的问题:
microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1
当带 MySQL 编译 PHP 时,可以正确地运行配置,但是在 make 的过程中出现了类似以下的错误信息:
ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function
my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the
use of tempnam' is dangerous, better use mkstemp',这是怎么回事
首先,我们需要认识到这只是个警告,而非致命错误。由于这条信息通常是在
make 的最后输出的,所以看起来它可能像是一个致命错误,但实际上不是。当然,如果将编译器设置成遇见警告信息时停止,则这也可以算是致命错误。另外值得一提的是,MySQL 的支持是默认打开的。
Note:
自 PHP 4.3.2 起,你将在编译(make)结束后看到下面的文字:
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
当编译 PHP 时使用非 GNU 的工具会导致问题。确保使用 GNU 工具来确保能够正确编译
PHP。例如,在 Solaris 下面不论使用 SunOS BSD 兼容或者 Solaris 版本的
sed 都不行,但是使用 GNU 或者 Sun POSIX (xpg4) 版本的
sed 就可以。相关连接:» GNU sed,» GNU flex,» GNU bison。