[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: phpinfoが表示されない



斉藤だったりします。

# 直接メイルがありましたが、debian-japanese@lists.debian.org にも CC
# しておきます。

At Sat, 21 Apr 2007 17:25:50 +0900,
T. Fujita wrote:
> phpinfo.phpのあとのスラッシュ「/」はメールリストに送る際に間違って入れたようで、実際には付いていません。それでもやはりあの美しいphpinfo画面は出てこないですね。
> プロセスはこんなふうだと理解しています。
> 1)http://localhost/phpinfo.phpというリクエストがWebサーバー(Apache)に送られる。;
> 2)ApacheがリクエストをPHPに渡す。
> 3)PHPモジュールがURLに対応するPHPプログラムを実行する。
> 4)WebサーバーがPHPプログラムの実行結果をHTMLとしてブラウザに返す。
> (以上、「はじめてのFedora Core 4 Linuxサーバ構築篇」、秀和システム)
> 
> この2番が行われていないように思うのですが、いかがでしょう。

まず、バージョン上は sid ですが、手元に入れてテストをしてみました。
インストールした手順は以下のとおりです。

sudo aptitude install libapache-mod-php4 php4 apache
でインストール。
debconf への返事は基本的にデフォルトで選択された状態で、モジュールの設
定のみ php4 のモジュールを有効にすることだけはデフォルトではない状態に。

root で
echo "<?php phpinfo(); ?>" > /var/www/phpinfo.php 
を実行。
適当なブラウザで
http://localhost//phpinfo.php 
にアクセス。

すると、問題なく表示されました。

他に影響がないのであれば、apache/php 関連を完全に remove もしくは
purge して再インストールすると問題なく動作すると思います。

> おっしゃる通り、モジュールのロードはできている気がします。
> このLoadModule文はmodules.confにある他の文と非常によく似ているので、当
> 初、ここに入っているべきものかと思いましたが、他の文はすべて
> ...apache/1.3/mod_〜.so
> という形になっているのに対し、libphp4.soだけmod_が付きません。ちぐはぐな
> 気がして、httpd.confの中のDSOに関するコメントの下に入れておりました。

ファイル名は飾りのようなものです。
適切にファイル名がフルパスで記述できていれば、問題になることはありませ
ん。

/etc/apache/httpd.conf およびこの中で include している設定に関するファ
イル内部で

LoadModule php4_module /usr/lib/apache/1.3/libphp4.so

と呼ばれていれば良いはずです。

> Debianで初めてPHPを導入したときは、PHP5でした。FedoraやVineでの経験か
> ら、apacheはdevelやutilが付いているものをインストールしたかったのです
> が、Debianでは体系が異なっていたので、似てそうなものを適当にインストール
> しました。1.3も2も混ぜて。
> このときの影響が出ているのかもしれません。

その状況であれば、apache2 が php のモジュールがない状態で動いている可
能性は否定できませんので、動かないとしてもおかしくないでしょう。

以下のことを実行してみてください。

1)ご自分の行いたいこと/要件を確定させる
2)apache のバージョンを 1 系にするか 2 系にするか、php を 4系でいくか
  5 系でいくかを決定する
3)aptitude などで php/apache に関するパッケージをすべて削除
4)apahce/php の決めたバージョンについて apache*/php*/libapache*-mod-php*
  を確実に指定してインストール
5)それぞれ debconf の設定については php のモジュールだけ入れる以外は基
  本的に逆らわない :)
6)phpinfo で表示されるかをテストする


Debian の場合、apache や php は複数のメジャーバージョンに関するパッケー
ジが存在しますので、「とりあえず全部」という感じのやりかたは、高確率で
失敗します。

逆にしっかり要件を固めるなどをしたあとには、その分だけ無駄を省いた形で
運用できるというメリットもあります。

例:開発用のライブラリは別パッケージになるので入れる必要性がなければ入
   れない

また、Debian では設定を特別なコマンドで行うことがあり、そのコマンドを
使うことでかなり楽に運用できる面もあり、このあたりはそのパッケージのド
キュメント(README.Debian{,gz})を良くよむのが近道です。

-- 
斉藤直彦 <http://www.apt-get.jp/>



Reply to: