Come modificare quale versione di PHP Apache2 utilizza?


25

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

Ho appena scoperto che sto usando la versione sbagliata di PHP per un'applicazione CRM. Una volta che ho capito come realizzare un semplice phpinfo()script per dirmi cosa sta usando Apache2, ho provato a cambiare php.iniciò che il mio server web avrebbe usato il PHP che volevo. Bene, questo è il mio problema. Non sono sicuro di come farlo.

Ho compilato la versione di PHP che voglio /etcqui:

/etc/php-5.2.8/

All'interno di questo, c'era un php.ini-recommendedfile in cui ho apportato alcune modifiche e rinominato in php.inimodo che PHP lo usasse. Ma quando ho aperto il mio browser e cancellato la mia cronologia e sono andato http://localhost<CRM dir>/install.phpall'indirizzo, la procedura guidata dice ancora che non sto assegnando la versione corretta di PHP.

Sulla base di questo post, cosa devo fare per cambiare la versione di PHP che appare dopo aver eseguito il mio test.phpscript? In altre parole, phpinfo()dice che sto eseguendo PHP 5.3.2, ma voglio cambiarlo con la mia versione compilata 5.2.8 che si trova in /etc.

Risposte:


8

A seconda del tuo server, dovresti guardare Apache, non PHP.

(Per RHEL / CentOS) guarda /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

Vedrai che è il tuo modulo PHP modules/libphp5.so.

AddHandler php5-script .phpdice ad Apache di eseguire PHP su qualsiasi file con l'estensione .php.

Se stai usando un sistema operativo basato su RPM è probabilmente più facile disinstallare (supponendo che tu possa farlo) l'attuale versione di PHP e reinstallare la versione che stai cercando.

rpm -qa | grep php

ti mostrerà quale versione di PHP è attualmente installata.


3
Vale la pena ricordare che dovresti far rimbalzare Apache dopo aver modificato la configurazione in modo che venga raccolto.
Ben Pilbrow,

Vorrei davvero che fosse così facile. L'unico php.inifile che ho nella directory del server è /etc/apache2/php.inima non dove mi suggerisci. Questo file non ha questi componenti di cui parli: LoadModule, AddHandler, AddType, ecc.
nicorellius

interessante. Con quale sistema operativo stai eseguendo? È stato configurato tramite YUM, APT-Get o YAST (o qualche altro gestore di pacchetti)?
Grufftech,

Ubuntu 10.04. La nuova versione di PHP (5.3.2) può essere facilmente installata senza installazione apt-get, cosa che ho fatto. Ma ho compilato PHP 5.2.8 e 5.2.13, usando i file da php.net/releases . In realtà ho smesso di provare a far funzionare la versione precedente di PHP. Penso che approcci alternativi siano in ordine per brevità. Grazie per il tuo aiuto, comunque ...
nicorellius

42

Se hai già installato un'altra versione di php, devi solo cambiare il modulo php * usato da apache.

per esempio, ho php5 e php7.0. quando voglio che apache usi php7.0, devo solo abilitare il suo modulo e disalbe il modulo php5.

sudo a2dismod php5
sudo a2enmod php7.0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.