[PHP-users 18949]Re: Apache1.3.28/PHP4.3.4でPHPが動きません

mori takamo @ free.japandesign.ne.jp
2003年 11月 15日 (土) 22:30:32 JST


もり(最近頻繁に質問されている方とは別人) です。

表題: [PHP-users 18944] Re: Apache1.3.28/PHP4.3.4でPHPが動きません
日付: Sat, 15 Nov 2003 20:41:44 +0900
ID:  <EIEAIDJJDDIEBLHOLHPCCENDCCAA.gotou @ hokkou.co.jp>
"gotou" <gotou @ hokkou.co.jp> さんの記された上記メールに関してです。

> おそらく、apxs が見つからなかったのかな、と思うのですが、

apxsが見つからなかったかapxsの実行結果が期待するものでなかったか……。


> しかし、/usr/local/apache/bin/ の下に apxs があるのは確認済みです。
>
> # ls -l /usr/local/apache/bin/
> 合計 624
> -rwxr-xr-x    1 root     root        26581 11月 15 12:59 apxs

私の手元では sbin にあったのですが(FreeBSD上)、bin と sbin を間違って
いる事はないですよね。

Apache2を使っているのにapache1用で指示しているだとか、apxsが実行できな
いだとか。


実際のapxsコマンドが実行できそうかだとか

 % file `which apxs`
 /usr/local/sbin/apxs: perl script text executable
 %

実際にapxsコマンドを実行してみるだとか
 %apxs -q PREFIX
 /usr/local

apxsがスクリプトならインタプリタ行を確認するだとか
 %head -5 `which apxs`
 #!/usr/bin/perl
 ## ====================================================================
 ## The Apache Software License, Version 1.1
 ##
 ## Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
 % file /usr/bin/perl
 /usr/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1
           (FreeBSD), dynamically linked (uses shared libs), stripped
 %

Apacheが本当にDSO使えるようになっているか確認してみるだとか。

 %httpd -l
 Compiled-in modules:
   http_core.c
   mod_so.c
 suexec: disabled; invalid wrapper /usr/local/sbin/suexec
 %

※ apxsのマニュアルに
       So to use this extension mechanism, your platform  has  to
       support  the  DSO feature and your Apache httpd binary has
       to be built with the mod_so module.  The apxs  tool  auto-
       matically  complains  if  this  is  not the case.  You can
       check this yourself by manually running the command

         $ httpd -l

   と書いてありました。DSOを使う為にはmod_soが必要です。(上のhttpd実行
   結果にはCompiled-in modules: mod_so.c とmod_soがあるのでDSOが使える
   httpdが導入されています)

※ チャチャの様な事しか書けなくてすいません。


> どうすれば見つけてくれるんでしょうか.。。。

はじめからやり直されてはいかがですか。
手順を見た所(スクリプトなど)、標準エラー出力を捨てたログしか確認なさっ
てない様にも見えましたし。

Cシェル系だと標準エラー出力も含めたログは

% ./configure $CONFIGURE_OPTS  >& php_configure_log.txt

上記の様な形で記録します。( > でリダイレクトすると標準出力だけを記録
します。結果的に標準エラー出力に出力された重要なエラーメッセージが捨て
られてしまっていたかも知れません。bashならCシェルの便利なコマンドとし
て>&が採り入れられていますのでsh系ではあるけど>&が使えます)


> CGIでインストールしても、問題ないものでしょうか?
> Apacheモジュールのときと、具体的にどう変わるのでしょうか。

マニュアルを見ましょう。別プロセスで実行する為に伝えられない(ウェブ
サーバからCGIで動いているプロセスへ)情報があったり、プロセス(CGI)を
起動する比較的大きなオーバーヘッドが起こったり違いは色々あるでしょう。
方法が違うのですから、違いはあります。向いている、向いてないは状況次第
ですが。(それぞれに利点・欠点があります)


PHP-users メーリングリストの案内