Como alterar qual versão do PHP Apache2 usa?


25

Ubuntu 10.04, MySQL 5.1, Apache 2.2 e PHP 5.2 / 5.3:

Acabei de descobrir que estou usando a versão errada do PHP para um aplicativo de CRM. Depois que eu descobri como criar um phpinfo()script simples para me dizer o que o Apache2 está usando, tentei alterar o php.inital que meu servidor da web usaria o PHP que eu quero. Bem, este é o meu problema. Não tenho certeza de como fazer isso.

Eu compilei a versão do PHP que eu quero /etcaqui:

/etc/php-5.2.8/

Dentro disso, havia um php.ini-recommendedarquivo no qual eu fiz algumas alterações e renomeei para php.inique o PHP o usasse. Mas quando abri meu navegador, limpei meu histórico e fui para o http://localhost<CRM dir>/install.phpendereço, o assistente ainda diz que não estou usando a versão correta do PHP.

Com base neste post, o que devo fazer para alterar a versão do PHP exibida após a execução do meu test.phpscript? Em outras palavras, phpinfo()diz que estou executando o PHP 5.3.2, mas quero alterá-lo para minha versão compilada 5.2.8 localizada em /etc.

Respostas:


8

Dependendo do seu servidor, você deve observar o Apache, não o PHP.

(Para RHEL / CentOS), veja /etc/httpd/conf.d/php.ini

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated web pages.
#
LoadModule php5_module modules/libphp5.so
#
# Causes the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

Você verá que seu módulo PHP é modules/libphp5.so.

AddHandler php5-script .phpdiz ao Apache para executar o PHP em qualquer arquivo com a extensão .php.

Se você estiver usando um sistema operacional baseado em RPM, provavelmente será mais fácil desinstalar (supondo que você possa fazer isso) a versão atual do PHP e reinstalar a versão que você está procurando.

rpm -qa | grep php

irá mostrar qual versão do PHP está instalada atualmente.


3
Vale ressaltar que você deve devolver o Apache depois de alterar a configuração para que ela seja captada.
— precisa saber é o seguinte

Eu realmente gostaria que fosse assim tão fácil. O único php.iniarquivo que tenho no diretório do servidor é, /etc/apache2/php.inimas não é o que você sugere. Este arquivo não possui os seguintes componentes: LoadModule, AddHandler, AddType, etc. #
— nicorellius

interessante. Em que tipo de sistema operacional você está executando? Foi configurado via YUM, APT-Get ou YAST, (ou algum outro gerenciador de pacotes)?
— grufftech

Ubuntu 10.04. A nova versão do PHP (5.3.2) pode ser facilmente instalada sem ser enviada apt-get, o que eu fiz. Mas o PHP 5.2.8 e 5.2.13 eu compilei, usando arquivos de php.net/releases . Na verdade, eu desisti de tentar fazer com que a versão mais antiga do PHP fosse executada. Penso que abordagens alternativas são necessárias por uma questão de brevidade. Obrigado pela vossa ajuda, no entanto ...
— nicorellius

42

Se você já instala outra versão do php, você só precisa alterar o módulo php * usado pelo apache.

por exemplo, eu tenho php5 e php7.0. quando eu quero que o apache use php7.0, eu só preciso habilitar seu módulo e desabilitar o módulo php5.

sudo a2dismod php5
sudo a2enmod php7.0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.