Estou executando o Ubuntu 8.04 neste servidor. Eu tinha o PHP 5.2 instalado através do gerenciador de pacotes. Eu o removi para instalar o PHP 5.3.1 manualmente. Eu construí os pacotes assim
./configure --prefix=/opt/php --with-mysql --with-curl=/usr/bin --with-apxs2=/usr/bin/apxs2
make
make install
Isso instalou o PHP 5.3.1 em / opt / php /
$ php -v
PHP 5.3.1 (cli) (built: Dec 7 2009 10:51:14)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
No entanto, quando tento iniciar o Apache, recebo isso.
# /etc/init.d/apache2 restart
* Restarting web server apache2
apache2: Syntax error on line 185 of /etc/apache2/apache2.conf:
Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load:
Cannot load /usr/lib/apache2/modules/libphp5.so into server:
/usr/lib/apache2/modules/libphp5.so: undefined symbol: OnUpdateLong
[fail]
Alguma idéia do que está causando esse erro? Todas as referências que posso ver têm a ver com a criação de pacotes php5 para php4 ou similares. O PHP4 nunca foi instalado nesta máquina.
fonte
para aqueles que experimentam o erro zend_parse_paramater do apache2, enquanto carregam libphp5.so:
/apache2.conf: Erro de sintaxe na linha 1 de /etc/apache2/mods-enabled/php5.load: Não é possível carregar /usr/lib/apache2/modules/libphp5.so no servidor: / usr / lib / apache2 / modules / libphp5.so: símbolo indefinido: zend_parse_parameters
dê uma olhada na saída ./configure. se você receber uma mensagem dizendo algo semelhante a:
configure: warning: versões bison suportadas para regeneração dos analisadores Zend / PHP: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 (encontrado: nenhum).
tente instalar o bison: sudo apt-get install bison
então faça distclean então ./configure ... então faça então faça -i install
http://www.linuxforums.org/forum/redhat-fedora-linux-help/87975-configuring-php-work-apache.html
fonte
Como o @zecrazytux indicou, você instalou os pacotes apache-dev apropriados? O PHP poderia ter sido construído sem eles, mesmo que você tenha dito onde eles estavam. Você precisa olhar para a saída ./configure.
fonte