Wie ändere ich die Version von PHP Apache2?

25

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

Ich habe gerade festgestellt, dass ich die falsche Version von PHP für eine CRM-Anwendung verwende. Nachdem ich herausgefunden hatte, wie man ein einfaches phpinfo()Skript erstellt, um mir zu sagen, was Apache2 verwendet, habe ich versucht, das php.iniso zu ändern , dass mein Webserver das von mir gewünschte PHP verwendet. Nun, das ist mein Problem. Ich bin mir nicht sicher, wie ich das machen soll.

Ich habe die Version von PHP kompiliert, die ich hier haben möchte /etc:

/etc/php-5.2.8/

Darin befand sich eine php.ini-recommendedDatei, an der ich einige Änderungen vorgenommen und sie umbenannt habe, php.inidamit PHP sie verwenden würde. Aber als ich meinen Browser öffnete und meinen Verlauf löschte und zur http://localhost<CRM dir>/install.phpAdresse ging, sagt der Assistent immer noch, dass ich nicht die richtige Version von PHP verwende.

Basierend auf diesen Beitrag Was mache ich die Version von PHP zu tun haben , zu ändern, zeigt, nachdem ich meine laufen test.phpSkript? Mit anderen Worten, phpinfo()sagt , dass ich PHP 5.3.2 ausführe, es aber in meine kompilierte 5.2.8-Version ändern möchte, die sich in befindet /etc.

nicorellius
quelle

Antworten:

8

Abhängig von Ihrem Server sollten Sie sich Apache und nicht PHP ansehen.

(Für RHEL / CentOS) siehe /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

Sie werden sehen, dass Ihr PHP-Modul ist modules/libphp5.so.

AddHandler php5-script .phpWeist Apache an, PHP für alle Dateien mit der Erweiterung auszuführen .php.

Wenn Sie ein RPM-basiertes Betriebssystem verwenden, ist es wahrscheinlich einfacher, die aktuelle Version von PHP zu deinstallieren (vorausgesetzt, Sie können dies tun) und die gesuchte Version erneut zu installieren.

rpm -qa | grep php

zeigt Ihnen, welche Version von PHP aktuell installiert ist.

grufftech
quelle
3
Erwähnenswert ist, dass Sie Apache nach dem Ändern der Konfiguration bouncen sollten, damit es übernommen wird.
Ben Pilbrow
Ich wünschte wirklich, es wäre so einfach. Die einzige php.iniDatei, die ich im Serververzeichnis habe, ist /etc/apache2/php.iniaber nicht, wo Sie vorschlagen. Diese Datei enthält nicht die Komponenten, von denen Sie sprechen: LoadModule, AddHandler, AddType usw.
nicorellius
interessant. Auf welchem ​​Betriebssystem laufen Sie? Wurde es über YUM, APT-Get oder YAST (oder einen anderen Paketmanager) konfiguriert?
grufftech
Ubuntu 10.04. Die neue Version von PHP (5.3.2) kann einfach und problemlos installiert werden apt-get, was ich getan habe. Aber hte PHP 5.2.8 und 5.2.13 habe ich mit Dateien von php.net/releases kompiliert . Eigentlich habe ich es aufgegeben, eine ältere Version von PHP zum Laufen zu bringen. Ich denke, alternative Ansätze sind der Kürze halber angebracht. Vielen Dank für Ihre Hilfe, trotzdem ...
Nicorellius
42

Wenn Sie bereits eine andere Version von PHP installiert haben, müssen Sie nur das von Apache verwendete PHP * -Modul ändern.

Zum Beispiel habe ich PHP5 und PHP7.0. wenn ich will, dass apache php7.0 verwendet, muss ich nur sein modul aktivieren und php5-modul deaktivieren.

sudo a2dismod php5
sudo a2enmod php7.0
hubert
quelle