Category Archives: Apache

phpが動いているのはモジュール?cgi?

phpがモジュールモードで動いているか?cgiモードで動いているか?を知る方法 – purazumakoiの[はてな]

phpinfoを表示して

4行目あたり

CGIモード

Server API  : CGI

モジュールモード

Server API  : Apache

とか

Server API  : Apache 2.0 Handler

なるほどメモ。
いつか使うときがきそう。

basic認証を特定のディレクトリだけ解除

わすれないように. – basic認証を特定のディレクトリだけ解除する方法

公開前の仮upサイトでbasic認証を使っていて、非公開エリアでphp等によるbasic認証を使用している場合 、.htaccessの認証とphpの認証で干渉し合って永久にログイン出来な

なるほど、確かにそうなりますよね。やったことないので想像つかなかった。

特定のディレクトリ下だけ、認証を解除するには、

Satisfy Any

と、解除したいディレクトリの.htaccessに書いておけばよいらしいです。ふむふむ。

phpAwStats

SourceForge.net: phpAwStats

Apacheログファイル解析のAWStatsをphpで、というものみたいです。
これは素敵やも。ちょっと触ってみます。

Apache2、MaxClientsの設定とか。

itb-TECH 【 IT Boost – Apache2 httpd.conf – 】

MaxClientsなどの意味を復習を兼ねて。

# prefork MPM
# StartServers:Apache起動時サーバプロセス数
# MinSpareServers:スペアとして保持されているサーバプロセス数の最小数
# MaxSpareServers:スペアとして保持されているサーバプロセス数の最大数
# MaxClients:起動できるプロセスの最大数。ここで設定する数が処理できる
# 接続数の最大値になります。
# MaxRequestsPerChild:サーバプロセスが処理するリクエストの最大数。
# ここで指定した数の要求を処理すると、自動的にプロセスが消滅します。
# 0は無限に稼動しつづけます。

MaxClientsの値は、apacheの子プロセスの使用メモリなどを見て、よしなに設定してください。
ちなみにいくつかのサーバで子プロセスを見てみたら、1つ26MBぐらいでしたね。モジュールを削ればもっと軽くなりますかね。

ApacheをWorkerで動かす時、PHPに問題が?

ApacheをWorkerモードで動かすとPHPで色々問題が出てくる、という話は検索するとよく出てくる当然の話だったんですね。知らなかったです。

/etc/sysconfig/httpdのコメントにも

The default processing model (MPM) is the process-based
# ‘prefork’ model. A thread-based model, ‘worker’, is also
# available, but does not work with some modules (such as PHP).
# The service must be stopped before changing this variable.

PHPとか、Wokerでは動かないよ、とあります。
今回ApacheをWorkerで動かそうとしたのですが、大人しくpreforkで動かしておきます。

mod_rewriteでの%2F問題の解決法

【PHP TIPS】 70. mod_rewriteでの%2F問題:ITpro

Apacheの設定ファイル (httpd.conf等)でAllowEncodedSlashesディレクティブをOnにします。

AllowEncodedSlashes On

こうすることで、「/」が含まれるURLにアクセスしてもmod_rewriteの条件判定が行われ、期待されるファイルが実行されます。

スラッシュがurlencodeされた%2FがURLに含まれていると、mod_rewriteでrewriteできずに404エラーが返ってしまうという話。これは知らないとハマってしまいそうなので、記事にしてもらってよかったー