Até onde lembro, houve algum tipo de erro com o mod_fastcgi e o Apache 2.4. Acabou de verificar a versão 2.2 e compila perfeitamente. Não é possível encontrar um relatório de erros agora.
Eu compilei o Apache 2.4.2 com sucesso, mas estou enfrentando um erro ao tentar compilar o módulo mod_fastcgi.
Alguma dica?
root@local:/usr/src/libapache-mod-fastcgi# /usr/local/apache2/bin/apxs -o mod_fastcgi.so -c *.c
/usr/local/apr/build-1/libtool --silent --mode=compile gcc -std=gnu99 -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apr/include/apr-1 -I/usr/local/apr/include/apr-1 -c -o fcgi_buf.lo fcgi_buf.c && touch fcgi_buf.slo
/usr/local/apr/build-1/libtool --silent --mode=compile gcc -std=gnu99 -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apr/include/apr-1 -I/usr/local/apr/include/apr-1 -c -o fcgi_config.lo fcgi_config.c && touch fcgi_config.slo
fcgi_config.c: In function 'fcgi_config_set_fcgi_uid_n_gid':
fcgi_config.c:241: error: 'unixd_config' undeclared (first use in this function)
fcgi_config.c:241: error: (Each undeclared identifier is reported only once
fcgi_config.c:241: error: for each function it appears in.)
fcgi_config.c: In function 'fcgi_config_make_dir':
fcgi_config.c:345: error: 'unixd_config' undeclared (first use in this function)
fcgi_config.c: In function 'fcgi_config_new_static_server':
fcgi_config.c:782: warning: initialization from incompatible pointer type
fcgi_config.c:782: error: expected expression before ')' token
fcgi_config.c:782: warning: passing argument 5 of 'ap_log_error_' makes integer from pointer without a cast
/usr/local/apache2/include/http_log.h:372: note: expected 'apr_status_t' but argument is of type 'struct server_rec *'
fcgi_config.c: In function 'fcgi_config_new_external_server':
fcgi_config.c:975: warning: initialization from incompatible pointer type
fcgi_config.c:975: error: expected expression before ')' token
fcgi_config.c:975: warning: passing argument 5 of 'ap_log_error_' makes integer from pointer without a cast
/usr/local/apache2/include/http_log.h:372: note: expected 'apr_status_t' but argument is of type 'struct server_rec *'
apxs:Error: Command failed with rc=65536
.
root@local:/usr/src/libapache-mod-fastcgi#
quase certo, é devido ao fato de o Apache ter alterado o nome da unixd_config para ap_unixd_config na v2.4.x
Eu tenho lutado com isso tentando obtê-lo 2.4 trabalhando com o mod_fastcgi, eu até tentei editar o fcgi.h (as únicas referências ao unixd_config que eu pude encontrar nos arquivos fonte do mod_fastcgi) para adicionar
#define unixd_config ap_unixd_config
ou renomeie todas as referências a unixd_config, mas nenhuma delas funcionou.
Estou começando a me perguntar se também pode haver algumas referências ao unixd_config em pacotes apr / apr-devel, uma vez que elas precisam compilar o mod_fastcgi, e eu tive que encontrar uma versão mais nova (1.4.6 eu acredito, como yum instala o antigo 1.3.9), e os coloca na pasta srclib da fonte apache 2.4.3 para que ele possa compilar sem erros (como mostrado aqui: link )
Isso é realmente frustrante porque eu quero o apache 2.4, mas não quero rodar o php como mod_php, mas o método "novo e melhorado" usando mod_proxy_fcgi com php do fp tem todos os tipos de problemas, como não querer jogar legal com aliases :(
Você tentou este patch para mod_fastcgi
?
Encontrei a resposta neste link: link (sou falante espanhol, precisei para "ler" chinês ")
Você pode executar o próximo, fazer o desejado (verificar seus caminhos, estou usando o layout do RPM):
time (wget 'http://www.fastcgi.com/dist/mod_fastcgi-SNAP-0910052141.tar.gz' &&
tar -zxvf mod_fastcgi-SNAP-0910052141.tar.gz &&
cd mod_fastcgi-SNAP-0910052141 &&
cp Makefile.AP2 Makefile &&
wget http://leeon.me/upload/other/byte-compile-against-apache24.diff &&
patch -p1 < byte-compile-against-apache24.diff &&
make top_dir=/usr/lib/httpd/ && make install top_dir=/usr/lib/httpd/)
nano /etc/httpd/conf/httpd.conf/httpd.conf
LoadModule fastcgi_module lib/httpd/modules/mod_fastcgi.so
Você não tem todas as dependências instaladas.
Tente verificar a libtool instalada em / usr / local / apache2 / bin / e instalada em seu sistema, pois elas podem ser de diferentes versões conflitantes.
Não há motivos sérios para usar este módulo de terceiros sem suporte.
Use o mod_fcgid fornecido pelo apache ou o novo módulo mod_proxy_fcgi.
Tags fastcgi apache-2.2 mod-fastcgi