短い答え。
パニックにならないでください!Apacheサーバーが使用しているPHPバージョンが心配な場合phpinfo()
は、常に出力に注意する必要があります。Apache PHPモジュールとPHPコマンドラインバイナリは、互いに干渉しない2つの異なるものです。
実際、Apacheを適切にロードするように調整する限り、Apacheで作業したいさまざまなPHPバージョンをコンパイルしてロードできます。Apacheコマンドラインインターフェイスは、ApacheがPHPページを解析する場合には機能しません。
PHPのコマンドラインバージョンは、単にコマンドライン固有のタスクのためにあり、ApacheのPHPモジュールは決してそれを使用、使用、または必要としません。
長い答え。
あなたはこれを言う:
php
使用しているバージョンを知りたいので、標準スクリプトを作成しました。
phpinfo();
これにより、PHPバージョン5.6.10- アプリケーションに必要な正しい PHPバージョンが得られます。ターミナルで試したとき:
php -i or php -v
必要のないPHPバージョン5.3.2が表示されます。
コマンドラインから利用可能なPHPのバージョンは、モジュールとしてロードされたPHPのバージョンとはまったく関係ありません。これらは完全に別のものです。
そのため、Webアプリケーションが使用しているPHPのバージョンが心配な場合phpinfo()
、バージョン5.6.10が表示されている場合、それが100%で十分です。
PHPのコマンドラインバージョンは、完全に独立したシステム項目です。したがって、重要なのはの出力のみですphpinfo()
。
何らかの理由で、Apacheで異なるバージョンのPHPを使用したい場合は、コンパイル済みのApache PHPモジュールをどこかにインストールし、システムのApache configに次の行を追加(または調整)するだけです。
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
そして、libphp5.so
ApacheがPHPの解析に使用するものへのパスを調整するだけで、Apacheを再起動してビジネスを開始できます。
たとえば、PHP 5.3.5を実行しているUbuntu 12.04マシンで使用するために、ある時点でPHPバージョン5.1.6をソース(GDライブラリをサポート)からコンパイルする必要がありました。サーバーのPHPモジュール読み込みファイル:
/etc/apache2/mods-available/php5.load
このような行がありました:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
1行がコメントアウトされlibphp535.so
、もう1行がコメントlibphp516-gd.so
解除されていることに注意してください。私がやったのは、デフォルトのPHP 5.3.5 libphp5.so
Apacheモジュールlibphp535.so
の名前をバージョン番号に変更して参照できるようにし、PHP 5.1.6(GDライブラリをサポート)モジュールに名前を付けてそれがlibphp516-gd.so
わかるようにすることですも同様です。このようにして、システム上でそれらの両方を利用できます。
そして、最初に言ったように、コマンドラインで使用されるPHPバージョンは、Apache PHPモジュールとはまったく関係ありません。したがって、Apache PHPモジュールのさまざまなバージョンをいくつでもシステムに配置して、すぐに使用できます。設定を調整してApacheを再起動するだけで、Apacheで使用する必要のあるPHPバージョンを使用できるようになります。