PHP Apache2が使用するバージョンを変更する方法


25

Ubuntu 10.04、MySQL 5.1、Apache 2.2、およびPHP 5.2 / 5.3:

CRMアプリケーションに間違ったバージョンのPHPを使用していることがわかりました。phpinfo()Apache2が使用しているものを通知する簡単なスクリプトを作成する方法をphp.ini見つけたら、Webサーバーが必要なPHPを使用するように変更しました。まあ、これは私の問題です。その方法がわからない。

/etcここにしたいPHPのバージョンをコンパイルしました。

/etc/php-5.2.8/

この中に、PHPが使用php.ini-recommendedするphp.iniようにいくつかの変更を加えて名前を変更したファイルがありました。しかし、ブラウザーを開いて履歴をクリアしてhttp://localhost<CRM dir>/install.phpアドレスにアクセスしたとき、ウィザードはまだ正しいバージョンのPHPを使用していないと言います。

この投稿に基づいて 、test.phpスクリプトの実行後に表示されるPHPのバージョンを変更するにはどうすればよいですか?つまり、phpinfo()PHP 5.3.2を実行していますが、にあるコンパイル済みの5.2.8バージョンに変更したいということです/etc

回答:


8

サーバーによっては、PHPではなくApacheを見る必要があります。

(RHEL / CentOSの場合) /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

PHPモジュールがであることがわかりますmodules/libphp5.so

AddHandler php5-script .phpは、拡張子がのファイルでPHPを実行するようApacheに指示します.php

RPMベースのOSを使用している場合は、おそらく現在のバージョンのPHPをアンインストールして(できるなら)、探しているバージョンを再インストールする方が簡単です。

rpm -qa | grep php

現在インストールされているPHPのバージョンが表示されます。


3
構成を変更した後にApacheをバウンスする必要があることを言及する価値があります。
ベンピルブロー

こんなに簡単だったらいいのにと思います。php.iniサーバーディレクトリにある唯一のファイルは/etc/apache2/php.ini、提案した場所ではありません。このファイルには、LoadModule、AddHandler、AddTypeなどのコンポーネントはありません
。– nicorellius

面白い。どのOSフレーバーで実行していますか?YUM、APT-Get、またはYAST(または他のパッケージマネージャー)経由で構成されていましたか?
-grufftech

Ubuntu 10.04。PHPの新しいバージョン(5.3.2)はapt-get、unsing で簡単にインストールできます。しかし、PHP 5.2.8および5.2.13は、php.net/releasesのファイルを使用してコンパイルしました。実際、古いバージョンのPHPを実行しようとしてあきらめました。簡潔にするために、別のアプローチが考えられます。それにもかかわらず、あなたの助けをありがとう
...-nicorellius

42

すでに他のバージョンのphpをインストールしている場合は、apacheが使用するphp *モジュールのみを変更する必要があります。

たとえば、php5とphp7.0があります。Apacheでphp7.0を使用する場合は、彼のモジュールを有効にし、php5モジュールを無効にするだけです。

sudo a2dismod php5
sudo a2enmod php7.0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.