Se você precisar compilar no Red Hat, CentOS ou outros derivados do Red Hat, eu recomendo que você use o rpmbuild -bb (explicarei no momento) com o .spec.in fornecido na fonte do php pela Red Hat ou pelo desenvolvedor upstream (PHP). Aqui está uma amostra do upstream:
%define version @VERSION@
%define so_version 5
%define release 0
Name: php
Summary: PHP: Hypertext Preprocessor
Group: Development/Languages
Version: %{version}
Release: %{release}
Copyright: The PHP license (see "LICENSE" file included in distribution)
Source: http://www.php.net/get/php-%{version}.tar.gz/from/a/mirror
Icon: php.gif
URL: http://www.php.net/
Packager: PHP Group <[email protected]>
BuildRoot: /var/tmp/php-%{version}
%description
PHP is an HTML-embedded scripting language. Much of its syntax is
borrowed from C, Java and Perl with a couple of unique PHP-specific
features thrown in. The goal of the language is to allow web
developers to write dynamically generated pages quickly.
%prep
%setup
%build
set -x
./buildconf
./configure --prefix=/usr --with-apxs \
--disable-debug \
--with-xml=shared \
# figure out configure options options based on what packages are installed
# to override, use the OVERRIDE_OPTIONS environment variable. To add
# extra options, use the OPTIONS environment variable.
#test rpm -q MySQL-devel >&/dev/null && OPTIONS="$OPTIONS --with-mysql=shared"
#test rpm -q solid-devel >&/dev/null && OPTIONS="$OPTIONS --with-solid=shared,/home/solid"
#test rpm -q postgresql-devel >&/dev/null && OPTIONS="$OPTIONS --with-pgsql=shared"
test rpm -q expat >&/dev/null && OPTIONS="$OPTIONS --with-xml=shared"
if test "x$OVERRIDE_OPTIONS" = "x"; then
./configure --prefix=/usr --with-apxs=$APXS $OPTIONS
else
./configure $OVERRIDE_OPTIONS
fi
Veja onde está escrito "--with-apxs"? Isso faz parte das interfaces de desenvolvimento do servidor HTTP Apache. Se isso não for instalado, você terá ao executar o configure (e acredito que é o que você está vendo):
Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS...
Sorry, I was not able to successfully run APXS. Possible reasons:
1. Perl is not installed;
2. Apache was not compiled with DSO support (--enable-module=so);
3. 'apxs' is not in your path. Try to use --with-apxs=/path/to/apxs
The output of apxs follows
./configure: line 4092: apxs: command not found
configure: error: Aborting
Para compilar sem o suporte a apxs (evitando assim a necessidade do apache), você mudaria isso para:
--without-apxs
E isso vai passar nesse ponto.
Agora, volte para a construção com um arquivo de especificação. se você construí-lo com um arquivo de especificação, o rpmbuild dirá quais dependências você precisa para instalar. E a partir daí, ele criará um pacote para você e você poderá instalá-lo com:
yum localinstall php.rpm
O qual permitirá que você instale e satisfaça os outros requisitos. Isso poupará muito sofrimento ao gerenciar seu sistema adequadamente com um sistema de empacotamento, em vez de tentar criar e instalar manualmente.
(ou você pode seguir o conselho da embobo e instalar apenas o php-cli;)).