2016-09-18 5 views
0

私は現在Raspbian Wheezy 7.0を使っています。 PHP 5.6は、wheezyのaptリポジトリでは利用できないので、ソースからビルドすることにしました。ビルドは完璧に機能し、私はそれから何の誤りも受けなかった。Apache2は5.6がインストールされている間にPHP 5.4を使用しています

私がphp -vを使用したとき、それは私に次の出力を与えました。

PHP 5.6.10 (cli) (built: Sep 18 2016 09:23:21) 
Copyright (c) 1997-2015 The PHP Group 
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies 

わかりました。完璧で、すべてが更新されているはずです。

ここにどこに問題があるのですか。何らかの理由で、私がphpinfo()を私のapache2サーバで使用しています。私はまだバージョン5.4.45です。

私の最初の推測では、モジュールapacheがにあるlibphp5.soを使用していたということでした。しかし、私がちょうどインストールした新しいPHPバージョンのために、libphp5.soモジュールがどこにあるのか分かりません。

誰でもこれを手伝ったり、正しい方向に私を指揮してくれれば素晴らしいだろう。私はApacheのバージョン2.2を使用しています。

答えて

1

コンソールから見ると、php -vのCLIバイナリです。 PHPを構築する際には、さまざまなSAPI(サーバAPI)用のさまざまなバイナリを作成することができ、そのうちの1つはCLIです。 Apache2ハンドラまたはmod_phpは別のものです。 PHPをApacheのhttpdモジュールとして構築するには、ソースからコンパイルするときに--with-apxs2設定オプションを必ず含める必要があります。これはバイナリをmake; make install;にする前に./configure --with-apxs2を実行することを意味します。新しく構築されたlibphp5.soまたはmod_php.so(ただしあなたが作成したもの)を適切なものに直接ロードし、あなたのApaache httpd configからロードすることを確認する必要があります。新しくコンパイルされたバイナリが格納される場所は、コンパイル時の設定オプションと環境によって異なりますが、通常は$PREFIX/$HOME/binにあります。たとえば、--with-prefix=/usrをコンパイルした場合、/usr/php/bin/libphp5.soが得られるかもしれませんが、通常はバイナリはmake installによって移動されます。新しくビルドされたバイナリがロードされるようにhttpdを再起動する必要があります。

詳細については、PHP manual on installationを参照してください。

+0

apxsパスを指定するように指示しています。しかし、私はapacheのための道を知りません。 'sudo apt-get install apache2'を使ってインストールしました。だから私はそれを--enable-soで設定することができませんでした。 –

+0

これは、Apache httpd Webサーバーのバイナリへのパスとは関係ありません。 'apxs'はあなたのApache httpdウェブサーバの拡張を構築するために使われるプログラムです。もしあなたがパスを求めているなら、おそらくapxsがインストールされていないでしょう。 apxs2が最初にインストールされているかどうかを確認するには、おそらくパッケージマネージャーを確認する必要があります。すでにインストールされている場合は、環境変数に正しく登録されていないため、apxs2へのパスを手動で指定する必要があります。 – Sherif

+0

FWIW、この質問はおそらくスーパーユーザーではないStackOverflowに属しています。プログラミングに関する質問ではありません。 – Sherif

関連する問題