O Apache faz o download de arquivos php em vez de executar sua origem

2

Acabei de atualizar o PHP 5.3 para 5.4 no meu servidor Debian Squeeze. Agora, em vez de executar arquivos PHP, o Apache apenas faz o download deles, o que é realmente ruim.

Quando tento seguir estes passos, eu obtenha "pacotes quebrados" ao instalar o pacote libapache2-mod-php5 .

Além disso, a resposta diz-me para adicionar algo ao meu httpd.conf, mas está vazio.

Pergunta: Como posso fazer o apache executar arquivos php novamente, em vez de apenas passá-los como download?

dpkg -l | grep php retorna este

rc  libapache2-mod-php5                 5.3.3-7+squeeze15            server-side, HTML-embedded scripting language (Apache 2 module)
rc  php5-cli                            5.3.3-7+squeeze15            command-line interpreter for the php5 scripting language
ii  php5-common                         5.4.15-1~dotdeb.2            Common files for packages built from the php5 source
rc  php5-gd                             5.3.3-7+squeeze15            GD module for php5
rc  php5-mcrypt                         5.3.3-7+squeeze15            MCrypt module for php5
rc  php5-mysql                          5.3.3-7+squeeze15            MySQL module for php5
rc  php5-suhosin                        0.9.32.1-1                   advanced protection module for php5
rc  phpmyadmin                          4:3.3.7-7                    MySQL web administration tool

E apt-get install libapache2-mod-php5 produz este erro

The following packages have unmet dependencies:
 libapache2-mod-php5 : Depends: libdb5.1 but it is not installable
                       Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
                       Depends: libxml2 (>= 2.8.0) but 2.7.8.dfsg-2+squeeze7 is to be installed
                       Recommends: php5-cli but it is not going to be installed
E: Broken packages
    
por bytecode77 23.05.2013 / 16:39

1 resposta

1

O que a mensagem significa é que libapache2-mod-php5 não está instalado ( rc significa removido (1ª letra, r), mas os arquivos de configuração não foram removidos (2ª letra c)). Então, para fazer o apache executar arquivos php novamente, você precisará reinstalá-lo.

Seu gerenciador de pacotes diz que você tem dependências não atendidas. Basicamente, por mais inteligente que seja, não foi possível descobrir uma maneira de fazer o que você pediu (provavelmente durante uma atualização), então você precisa descobrir por si mesmo. Veja esta questão para um procedimento detalhado. A questão é especificamente no Ubuntu, mas a maior parte é aplicável ao Debian também.

Em suma, você precisará descobrir por que esses pacotes não são instaláveis. Use apt-get install libdb5.1 para descobrir por que libdb5.1 não pode ser instalado, depois apt-get install libssl1.0.0 e finalmente apt-get install libxml2 . Por sua vez, isto irá indicar-lhe alguns outros pacotes que estão em falta ou com uma versão errada. Depois de descobrir onde está o problema, você provavelmente precisará apt-get install -f desse pacote ( -f significa força).

    
por 30.10.2013 / 22:56