[PHP-users 9448] Re: PHP4.2.2 DSO版とCGI 版の同居環境にAPCを入れる方法を教えていただけませんか

Youichi Iwakiri php-users@php.gr.jp
Thu, 22 Aug 2002 11:10:48 +0900


いわきりです

Toshihito ITAMI wrote in <01aa01c2490f$543f3200$9781a8c0@DEFIANT> :
>表題のとおりなのですが、PHP4.2.2 DSO版とCGI版の同居環境に
>APCが正常に入れる方法を教えていただけませんでしょうか。

メールの内容を読む限りAPCは、正常に導入されていると思います。

>いま、PHP4.2.2のDSO版としてインストールした後、APCを組み込み、
>PHP4.2.2のCGI版をインストールを済ませた状態なのですが、
>動作確認の為にコマンドプロンプトから
><?php echo "test"; ?>
>のような内容のテストスクリプトを動かすと
>$ php testn.php
>Failed to find local cache entry
>X-Powered-By: PHP/4.2.2
>Content-type: text/html
>$
>と表示されてしまいます。
>「Failed to find local cache entry」と出ているのでDSO版用php.iniより、
>APCの記述を外して、再試行するとこのメッセージは出ないのですが。
>(Apache経由でのテストでは、このようなエラーは出ていません)

設定はどうしていますか,shm or mmap ?
コマンドライン版でshmだと、*当たり前ですが*事前にキャッシュされた
スクリプトは存在しません。スクリプトの終了と同時に共有メモリも破棄
されるからでしす。
そのため、何回実行しても、キャッシュにヒットしないので
「Failed to find local cache entry」とstderrに出力されます。
stderrの出力を /dev/null にすれば表示されなくなるでしょう。

mmapの場合だと、キャッシュファイルを作成するディレクトリの権限の
設定不備が考えられます。
Apache起動ユーザには、rwxを与え、コマンドライン版phpを実行するユーザには
権限を与えていないとか、そういう事はないですか?

-- 
Youichi Iwakiri