PHP - Hypertext Preprocessor (Vine Linux)

PHPとは

PHPは、HTMLファイル内に記述するタイプのスクリプト言語です。通常のCGIとして使用できますが、
PHPモジュールをApacheサーバーに組み込むことにより、Perl/CGIよりも処理速度の高速化、サーバー負荷の低減が可能です。

マニュアルなどの詳細情報は、日本PHPユーザ会 にあるのでご覧ください

※本サイトは全面的にPHPで構築しています。

PHPのインストール

PHPをインストールします。

# apt-get install php php-apache


設定ファイルの編集

/etc/php.iniを編集します。

# vi /etc/php.ini
mbstring.internal_encoding = EUC-JP
expose_php = Off ← X-Powerd-By: PHP/Versionヘッダを隠す。

その他、必要な修正を行います。


動作確認

test.phpを作成して次のように書きます。

# vi test.php
<&php echo "This is test!"; ?>

ブラウザからtest.phpにアクセスして、This is test!と表示されたら問題なく動作しています。

動的URLを静的URLに変換する

apacheのmod_rewriteを使うと、PHPなどのスクリプト言語を使った動的URLをリアルタイムで静的URLに変換することができます。詳細は、apacheウェブサーバーにて紹介しています。

bbclone - PHPを使ったログ解析

PHPを使ったログ解析、webalizerよりも見やすくてわかりやすいのでオススメです。

http://bbclone.deからファイルをダウンロード、解凍してwebルートに置きます。

conf/config.phpを編集します。

# vi conf/config.php
$BBC_MAINSITE= "../"; ← webルートディレクトリに設置する場合
$BBC_SHOW_CONFIG = "0"; ← 管理画面を表示しないようにする。
$BBC_TITLEBAR= "アクセス解析 解析日 %DATE"; ← 解析ページのタイトル表示
$BBC_LANGUAGE ="ja"; ← 日本語を指定
$BBC_DETAILED_STAT_FIELDS = "id, time, ext, dns, visits, os, browser, referer, ip, page, search"; ← 解析項目を設定
$BBC_IGNORE_IP = "192.168."; ← LANからのアクセスは解析対象外とする
$BBC_DEBUG = "1"; ← うまく動作しない場合はデバッグモード(1)にしてみる。通常は0のままで良い。

bbclone/varフォルダとその中身のパーミッションを設定します

# chmod 777 var/
# cd var
# chmod 666 *

ホームページのhtmlファイルに下記のように記述します。

# vi hoge.html
$request = strtolower($_SERVER['REQUEST_URI']);
define('_BBC_PAGE_NAME', $request);
define('_BBCLONE_DIR', 'bbclone/');
define('COUNTER', _BBCLONE_DIR.'mark_page.php');
if (is_readable(COUNTER)) include_once(COUNTER);

ブラウザで、webルート/bbclone/へアクセスすればbbcloneが起動します。

アクセス解析もできます。

# vi hoge.html
require("./bbclone/var/access.php");
$totalcount=$access["stat"]["totalcount"];
$tcount=$access["time"]["day"][date("j")-1];
$ycount=$access["time"]["day"][date("j")-2];
$totalpv=$access["stat"]["totalvisits"];
echo "$totalpv pageview, ";
echo "$totalcount Visits (本日:$tcount 昨日:$ycount).";

APC - Alternative PHP Cache

APCはPHPの中間コードのキャッシュや最適化を行う拡張モジュールです。
このサイトではAPCを導入して高速化を図っています。

# apt-get install php-devel
# apt-get install apache-devel
# pecl install APC
# vi /etc/php.ini
  extension=apc.so ← 追加する。
  apc.enabled=1 ← 追加する。
  apc.mmap_file_mask = /tmp/apc.XXXXXX ← 追加する。
# /etc/rc.d/init.d/httpd restart
phpinfo()で組み込まれたかどうかを確認する。
apc.phpにアクセスするとキャッシュの状態についての詳細な情報が得られる。

▲ページ先頭へ

スポンサード リンク