在 Centos 上编译 PHP 的问题

在 Centos 上编译 PHP 的问题

我整天都在尝试从源代码编译最新的 PHP。首先,在 configure、make、make install 之后,系统上任何地方都没有 libphp5.so(问题出在 PHP SAPI 模块 CGI 而不是 apache2handler),再次下载源代码并再次编译后,命令 make install 此时停止

php-5.3.5]# make install
Installing PHP SAPI module:       apache2handler
/usr/lib64/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/lib64/httpd/modules
/usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib64/httpd/modules/
cp .libs/libphp5.so /usr/lib64/httpd/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib64/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /root/php-5.3.5/libs'
chmod 755 /usr/lib64/httpd/modules/libphp5.so

[此处光标闪烁,并永远闪烁]

有任何想法吗??

这是我的配置

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'

系统:centos 64位 php 5.3.5

编辑:当我从另一个终端登录并使用 top 时,CPU 达到 100%

7516 root      25   0 80144 4164 1452 R 100.0  0.1   2:02.37 apxs 

编辑:这里描述了同样的问题http://www.linuxforums.org/forum/servers/138135-trying-install-php-5-2-6-but-apxs-takes-forever.html

答案1

为什么你要从源代码编译 PHP,从而滥用企业操作系统?如果你使用的是 CentOS,这绝对是最后的手段。

如果你只需要 PHP 5.3.5,那么我建议使用IUS 社区 Repo

我有详细的使用说明在我的回答中

答案2

我在这里要附和 HoboDave 的建议。在 CentOS/RHEL 上从源代码编译东西很痛苦、适得其反,而且几乎总是完全没有必要。

因此,第一个问题是:为什么需要从源代码编译 PHP? 如果您不知道,RedHat 在其存储库中维护最新的安全补丁。因此,在源代码中较高版本号中修复的问题也会在 CentOS/RHEL 的较低版本号中修复。如果您没有具体、具体且真正好的理由,请不要重新编译。使用操作系统中包含的软件包。它们有效。——


Christopher Karel

相关内容