CentOS + Nginx +【PHP】+ MySQL

Nginx + PHP は、PHPをFastCGIで動作させ、PHP-FPM (PHP FastCGI Process Manager) をインストールするのですか。
そうですか。
では前回に引き続き、PHPまわりのインストールをおこないます。

————————————————————————–

●パッケージがインストールされているか確認、されていなければインストール。

# rpm -q gcc libjpeg-devel libpng-devel libmcrypt libmcrypt-devel pcre pcre-devel libxml2-devel openssl-devel curl-devel

を実行し、
パッケージ xxxxxxxxxx はインストールされていません。
と表示されたものについて、インストールを実行。

# yum install gcc libjpeg-devel libpng-devel libmcrypt libmcrypt-devel pcre pcre-devel libxml2-devel openssl-devel curl-devel
(上のコマンドから、不要なものを取り除いて実行)

●ダウンロード用ディレクトリの用意と移動

# mkdir /opt/php
# cd /opt/php

●ダウンロード

# wget http://jp.php.net/distributions/php-5.3.0.tar.gz
# wget http://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz

●PHPのソースを展開し、php-fpm patchを適用

# tar zxvf php-5.3.0.tar.gz
# gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1

●パッチ適用後のPHPをconfigure、make実行

# cd php-5.3.0 && ./configure –enable-exif –enable-fpm –enable-gd-jis-conv –enable-gd-native-ttf –enable-mbregex –enable-mbstring –enable-pcntl –with-mysql –with-mysql-sock –with-curl –with-gd –with-iconv –with-jpeg-dir=/usr/lib –with-libmbfl –with-mcrypt –with-openssl –with-zlib
# make all install

# cp -p /opt/php/php-5.3.0/sapi/cgi/fpm/php-fpm.conf /usr/local/etc/php-fpm.conf
# vi /usr/local/etc/php-fpm.conf

62行目付近にcgiの実行ユーザ、グループの記載があります。
コメントアウトされているので、コメントアウトを削除し、
有効にします。

Unix user of processes
nobody

Unix group of processes
nobody

●PHP-FPMを、起動時に自動実行するようにします

# cd /etc/init.d/
# ln -s /usr/local/sbin/php-fpm /etc/init.d/php-fpm
# /usr/sbin/update-rc.d -f php-fpm defaults

add this to /etc/rc.local if you want php-fpm to start from booting
# vi /etc/rc.local
/etc/init.d/php-fpm start

タグ: , , , , ,
Posted 2009年9月28日 0時30分59秒 in Linux, MySQL, Nginx, php, Server by junichi_y Comments (1)

CentOS + Nginx + PHP +【MySQL】

「Nginx」に興味中。
HTTP サーバであり、ロードバランサーでありながら、Mail proxy の機能も持っているらしい。IMAP/POP3/SMTP をバックエンドとすることができるんだそう。

開発元がロシアだそうで、ドキュメントがロシア語。英語のドキュメントもかなり豊富なようですが、日本語のドキュメントはまだ少ないみたい。

2009年5月のネットクラフトの調査によれば、Nginx は 6,342,250 のドメインで使われており、Webサーバとしてのシェアは第5位と結構な数字に上昇中。

ということで、一発テストをしてみることにしましたよ。
実運用はしませんので、とりあえず覚書用のインストール手順書です。

構成はエントリーの題名のとおり。
正常に入ってテスト運用ができるかどうかは、やってみなくてはわかりません。
あしからず。
詳細(予定)構成は以下のとおり。

CentOS 5.3
Nginx 0.7.62
PHP 5.3.0
MySQL 5.1.38-0

ではこのエントリーでは MySQL のインストールから。

————————————————————————–

●ダウンロード用ディレクトリの用意と移動

# mkdir /opt/MySQL
# cd /opt/MySQL

●ダウンロード

# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-server-community-5.1.38-0.rhel5.i386.rpm/from/http://mirror.csclub.uwaterloo.ca/mysql/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.38-0.rhel5.i386.rpm/from/http://mirror.csclub.uwaterloo.ca/mysql/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-shared-community-5.1.38-0.rhel5.i386.rpm/from/http://mirror.csclub.uwaterloo.ca/mysql/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.38-0.rhel5.i386.rpm/from/http://mirror.csclub.uwaterloo.ca/mysql/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-devel-community-5.1.38-0.rhel5.i386.rpm/from/http://mirror.csclub.uwaterloo.ca/mysql/

●インストール

# rpm -i MySQL-server-community-5.1.38-0.rhel5.i386.rpm
# rpm -i MySQL-client-community-5.1.38-0.rhel5.i386.rpm
# rpm -i MySQL-shared-compat-5.1.38-0.rhel5.i386.rpm
# rpm -i MySQL-devel-community-5.1.38-0.rhel5.i386.rpm

●とりあえずログインとログアウト

$ mysql -u root -p
Enter password: (何も入れずENTER)
mysql> exit;

●mysql_updateでアップグレードの確認 (最新版でない場合とバージョン限定でない場合は行ったほうが良い)

# mysql_upgrade -u root -p
Enter password: (何も入れずENTER)

●サーバが起動しているか確認する

$ mysqladmin ping

●実行中のプロセスを確認する

$ mysqladmin processlist

●rootユーザのパスワード変更

$ mysql -u root -p
Enter password: (何も入れずENTER)
mysql> SET PASSWORD FOR root@localhost=password(‘new-password’);
Query OK, 0 rows affected (0.00 sec)

mysql> exit;

●my.cnfを修正した場合は、リスタートが必要です

# /etc/rc.d/init.d/mysql restart

※mysqlコマンドは、RPMでインストールした場合は“/usr/bin/mysql”として、ソースからインストールした場合には“/usr/local/bin/mysql”としてインストールされています。
rootユーザのパスワード変更は、以下でも可能

/usr/bin/mysqladmin -u root password ‘new-password’
/usr/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password’

タグ: , , , , ,
Posted 2009年9月18日 12時29分41秒 in Linux, MySQL, Nginx, php, Server by junichi_y Comments (0)

Windows XP Service Pack 3 の対応状況調査

XPのSP2を適用するのはだいぶん躊躇したのですが、SP3の情報を集めていたところ、今までのパッチの集大成的なものであり、Windowsの挙動自体を大きく変えてしまうものではないようであったため、勢いに任せてウチ中のWindows XP (Pro)にパッチを当てまくりました。

以下に各ソフトウェアのSP3への対応状況を…と思ったのですが、今のところ動かないソフトはありません。
よって以下は稼動確認ソフトのリストということになります。

その他、外部サイトからの情報

こだるま日和 : XP SP3 をインストールしてみた
http://isly.sub.jp/kodaruma/2008/05/xp-sp3.html
より
カスタマイズ系ソフト
PachXP SP3

追記 :AMDマシンをご使用の方は SP3の適用を見合わせた方が良いようです。
XP SP3導入後にAMDベースマシンで問題–リブートが繰り返し発生

タグ: , , , , ,
Posted 2008年5月12日 0時53分38秒 in Apache, MySQL, php, Server, Windows&Customize by junichi_y Comments (5)

PHP:getimagesize()関数で画像サイズを揃えて出力

複数個リスト化された画像があり、サイズがまちまちであった場合、これらを並べて表示しようとすると、不揃いなサイズにイライラすることでしょう。
これをキレイに並べたいとき、このようなテクニックはいかがでしょうか。
PHPには指定した画像ファイルの大きさに関する情報を配列として取得する、getimagesize()関数がありますので、これを使用。

<?php
//例えば75pxに画像サイズを揃える
$img_size = 75;
// 値 A から 値 B まで繰り返し処理
foreach ( A as B ) {
    
// 実際には 繰り返すイメージの個数分を以下にロジック
    
$image_url = 'ex/path/to/imageAtoB';
    
// 元画像のタテ・ヨコサイズを取得
    
list($width,$height)=getimagesize("$image_url");
    
// 幅をimg_sizeで固定し、高さを比率で縮尺させる。少数点はROUND
    
$height = round($height * $img_size / $width);
    
// サイズ変更指定し出力
    
echo "<img width=¥"$img_size¥" hegiht=¥"$height¥" src=¥"
$image_url¥" alt=¥"¥" />";
}

?>

Plain Text:

<?php
$img_size = 75;

foreach ( A as B ) {
  $image_url = 'ex/path/to/imageAtoB';
  list($width,$height)=getimagesize("$image_url");
  $height = round($height * $img_size / $width);
  echo "<img width=¥"$img_size¥" hegiht=¥"$height¥" src=¥"$image_url¥" alt=¥"¥" />";
}
?>

少なくとも、上のサンプルコードに対して、

  • xml (やrss) からimg要素を取り出し、'ex/path/to/imageAtoB'へ繰り返し指定する等の加工が必要です。
  • ‘ex/path/to/imageAtoB’ には画像がある事を前提にしています。
    無い場合に備えてエラー処理が必要です。

設置サンプル
http://simurgh.info/

PHP: getimagesize() – Manual
(PHP 4, PHP 5)

タグ:
Posted 2008年2月11日 19時29分51秒 in php by junichi_y Comments (0)

Scuttle ソーシャルブックマーク の設置

自作サーバに、php + MySQLを使用してソーシャルブックマーク(Social Bookmark)を実現する、オープンソース「Scuttle」の設置方法。

まずは、SorceForge から ダウンロード (現在 version 0.7.2)をしておいてください。

設置方法

  1. 「scuttle.0.7.2.zip」ファイルをダウンロードし解凍。
  2. phpMyAdmin等を使って、MySQLに新規データーベースを作る。DB名はscuttle等、好みのDB名でOK。
  3. 「config.inc.php.example」を「config.inc.php」にリネームし、各設定値を入力(下の変数はセキュリティ上変えてあります)
    ・MySQLのタイプ = ‘mysql4′; // ←ウチのMySQL5ではコレでもOKだった。PHP5上でext設定しているが、’mysqli’;では通らなかった。
    ・MySQLのホスト = ‘localhost’; // ←ホスト名 or IPに変更
    ・MySQLのポート = ’3306′;
    ・MySQLのユーザ名 = ‘username’; // ←DBのユーザ名に変更
    ・MySQLのパスワード = ‘psword’; // ←DBのパスワードに変更
    ・MySQLのDB名 = ‘scuttle’; // ←上で設定済のDB名に変更
    ・$sitename = ‘Scuttle’; // ←任意のサイトタイトルに変更
    ・$locale = ‘ja_JP’; // ←日本語設定
    ・$adminemail = ‘admin@hoge.jp’; // ←adminのメールアドレスを設定
  4. 解凍後のscuttleフォルダーごとftp。
  5. つぎに解凍されたファイル群の中からtables.sqlを探し出し、同ファイル内のSQL文を実行。テーブルを作成。
  6. 設置したURLを叩く。

使い方
・「Register」でユーザ登録を行い、ログイン。

注意点 php5でscuttleを動かす場合の変更点

setlocale()のエラーが出るときは、
scuttle\includes\php-gettext\gettext.inc の131行目、
$ret = setlocale($category, $locale);

コメントアウト
//$ret = setlocale($category, $locale);
次の行に、
$ret = setlocale(LC_ALL, $locale);
とする。

注意点 自作サーバでscuttleを動かす場合の変更点

version 0.7.2 (以前のバージョンは知らん)のsourceの中には、一部「<?php」で始まらなず、「<?」で始まるsourceが含まれているため、自作サーバでscuttleを運用したい方は、「php.ini」の修正が必要です。(大抵のレンタルサーバは問題無いと思います)

php.iniに、
short_open_tag = On
の一行を追加してください。

(「<?xml」関係で問題が起こる可能性がある方は、地道にsourceの修正をお勧めします )

タグ: , , ,
Posted 2007年6月10日 1時41分04秒 in MySQL, php, Server, Windows&Customize by junichi_y Comments (1)

Windows を自作(自宅)サーバに。

各種必須サーバ(ソフトウェア)のダウンロード先

いわゆる WAMP (Windows + Apache + MySQL + PHP) でサーバを構築・設定するにあたって詳しく説明のある参照先

タグ: , , , , , ,
Posted 2007年6月9日 21時22分11秒 in Apache, Linux, MySQL, php, Server, Windows&Customize by junichi_y Comments (0)

人気記事Top10をPHPとMySQLで

各エントリーの閲覧数をランキングしてくれる、便利な”http://sidebar.jp/“ですが、個人で運営をされていることもあり、最近運用を停止気味にしておられ、少々支障が出てきました。

参照:

以前のエントリー:
Diary::Weblog:人気記事Top10

そこで注目したのが、「EarlGreyTearoom」さんの「記事と同じカテゴリのランキングを表示」するPHPスクリプト。
以下は使用の際の注意点を含め、当サイトで行った変更点等。

  1. まず上記リンク「エントリーのアクセスランキング for Movable Type」から、「■注意」をよく読み、動作条件を確認してください。
  2. 次に、自サイトと「EarlGreyTearoom」さんの各URLを見比べてください。自サイトでのpermalink運用が違った場合、スクリプトの変更が必要となります。
  3. ありがたく「記事と同じカテゴリのランキングを表示」から「fav_count_2.zip」をダウンロード。
  4. 通常はダウンロードした「fav_count_2.zip」に含まれている「readme.txt」とおりに設定を行えば問題なし。
  5. 当サイトでは、エントリー別のアクセス数表示しか行わないので「fav_cfg.php」「fav_count.php」「fav_main.php」のみを使用した。
  6. 当サイトでは、上記のとおりpermalink運用が違うのでスクリプトの一部変更が必要であった。
    (著作は「EarlGreyTearoom」のpekoeさんに有り、変更を行った点についてはここでは言及しません。)
  7. 最後の注意点として、「fav_cfg.php」中に使用している各設定保存用の格納変数名については、セキュリティ上の観点から類推されにくいものに変更しておくことが必要で、これを行った後は、必要箇所の同名変数についても置き換えを行いましょう。
タグ: , ,
Posted 2006年2月6日 11時48分50秒 in Movable Type, php by junichi_y Comments (0)

NuSOAPとAudioscrobblerでAWS(略)

2005年11月19日改訂

Now Playingのエントリーにて紹介した、Audioscrobbler(現Last.fm)のフィードを表示する方法ですが、今回は、「NuSOAPを使ってAudioscrobbler(現Last.fm)のフィードでAmazonWebSearch」というなんとも長ったるいタイトル(正式)の作業を行ってみました。

で、サンプルはこのblogのsideに表示中です。
要点1.AudioscrobblerのフィードをAmazonで検索し、リターンがあれば結果を表示。
要点2.画像が有れば画像も表示。
要点3.リターンが無い場合は、Audioscrobblerへのリンクを出力。

更新 2005年11月17日
Last.fmのRSSがURL変更となりました。
変更前:http://ws.audioscrobbler.com/rdf/history/username
変更後:http://ws.audioscrobbler.com/1.0/user/username/recenttracks.rss

更新 2005年11月19日
Last.fmのRSS出力に際し、XMLの名前空間が変更となっておりましたので、それに併せて変更致しました。

更新 2006年02月03日
パラメータ設定をとりまとめ、わかりやすくし、ソースの整理を致しました。

まずは「NuSOAP」ですが、「生」NuSOAPを使用した場合、見事に検索結果が文字化けします。
そこでNuSOAP Revision 1.59をベースに日本語を利用できるようにいしなおさんが修正された、nusoap.phpをお借りします。
ダウンロードするファイルは、「phpgoogle.zip」です。この中の「nusoap.php」をありがたく使用させていただきます。

いしなお! – PHP NuSOAPでGoogle Web API (13:50)

次に、以下のソースを各自個人のアソシエイトID等の変更を行ったうえで、nusoap.phpと同じディレクトリに適当なファイル名でアップします。
“<$MTBlogURL$>images/”ディレクトリに、“noimg.gif”というイメージを用意してください。(好みの画像で結構です)
そしてインクルード。以上で終了。

※ソースの最初にCSSが埋め込んであります。適宜変更してください。

※このスクリプトによる、如何なる損害も、一切補償致しません。自己責任で設置してください。
※このスクリプトは、コメントあるいはトラックバックウェアとします。ご使用の際には必ずコメントあるいはトラックバックをお願いします。
※このスクリプトの改変は自由ですが、このままの形での再配布は禁止とします。改変の際は是非お知らせください。

<style type=”text/css”>

table.audioaws {border-collapse: separate;}

td.audioawsimg {background: #ffffff;}

td.audioawstxt {background: #f0f8ff;font-family:”ヒラギノ角ゴ Pro W3″ ,”Osaka” ,”MS P ゴシック” ,verdana ,arial ,sans-serif;}

</style>

<table class=”audioaws”>

<?php

// バージョン0.5.5

// 2006.02.03 パラメータ設定をとりまとめ と ソースの整理

//

// Diary::Weblog

// http://jun.daa.jp/

// NuSOAPとAudioscrobblerでAWS(略)

// http://jun.daa.jp/archives/20050904142833.php

// 各パラメータを設定します 変更はここから

// —————————–

// “Last.fm Username”

//

$LastfmUser = “junichi_y”;

// Amazonへリクエスト用 sortに利用可能なパラメータ

// Featured Items +psrank

// Bestselling +salesrank

// Artist Name +artistrank

// Original Release Date +orig-rel-date

// Alphabetical +titlerank

//

// “パラメータ”

//

$sort = “+psrank”;

// “あなたのアソシエイトID”

//

$tag = “diaryweblog-22″;

// “あなたのデベロッパートークン”

//

$devtag = “D2RI43QR9UUHXB”;

// —————————–

// 設定はここまで 以下は変更しない

// Last.fmのfeed取得設定

define(‘AUDIOSCROBBLER_RDF’
, ‘http://ws.audioscrobbler.com/1.0/user/’ . $LastfmUser . ‘/recenttracks.rss’);

// Last.fm feedをオープン

if (!($fp = fopen(AUDIOSCROBBLER_RDF, “r”))) { die(“could not open Audioscrobbler feed”); }

while ($data = fread($fp, 4096)) { $rdf_content .= $data; }

fclose($fp);

// Begin parsing through

preg_match_all(“‘<title>(.*?)</title>’si”, $rdf_content, $songs); $songs = $songs[1];

preg_match_all(“‘<link>(.*?)</link>’si”, $rdf_content, $links); $links = $links[1];

// Soapを読み込み

include(“nusoap.php”);

// 10曲分の処理開始

for ($i = 1; $i < count($songs); $i++) {

list($artist, $title) = explode(‘ – ‘, $songs[$i]);

$keyword = htmlspecialchars($keyword);

$soapclient = new soapclient(“http://soap.amazon.com/schemas3/AmazonWebServices.wsdl”, true);

$proxy = $soapclient->getProxy();

$space = ” “;

$keyword = $artist . $space .$title;

// Amazonへリクエストのパラメータを用意

$params = array(

‘keyword’ => $keyword,

‘page’ => $page,

‘mode’ => ‘music-jp’,

‘tag’ => $tag,

‘type’ => ‘lite’,

‘sort’ => $sort,

‘devtag’ => $devtag,

‘locale’ => ‘jp’

);

//リクエスト

$result = $proxy->KeywordSearchRequest($params);

if(!$result['faultstring']){

//$itemにtype’lite’で定義されている出力データを格納(10曲分)

$items = $result['Details'][0];

echo “<tr><td class=\”audioawsimg\”><a xhref=\”" . $items['Url'] . “\” target=\”_blank\”><img align=\”right\” border=\”0\” xsrc=\”" . $items['ImageUrlSmall'] . “\” alt=\”" . $items['ProductName'] . “\” /></a></td><td class=\”audioawstxt\”><a xhref=\”" . $items['Url'] . “\” target=\”_blank\”><b>” . $artist . “</b><br />” . $title . “</a></td></tr>\n”;

} else {

echo “<tr><td class=\”audioawsimg\”><img align=\”right\”
xsrc=\”<$MTBlogURL$>images/noimg.gif\” alt=\”No Image.\” /></td>
<td class=\”audioawstxt\”><a alt=\”$links[$i]\” xhref=\”$links[$i]\” target=\”_blank\”>
<b>$artist</b><br />$title</a></td></tr>\n”;

}

}

?>

</table>

タグ: , ,
Posted 2005年9月4日 14時28分33秒 in php by junichi_y Comments (3)

LinkShareのバナーをランダムに表示する

LinkShareのバナーは一度設置すると、同じものが表示され続けます。
特にApple製品で用意されているバナーは、ローテーションしませんので、ページの表情が同じになったままで、見飽きてしまいます。

PHPの勉強を始めましたので、この際「Individual Entry Archive」のページに表示されるバナーをランダムに変えるスクリプトを作ってみました。
(LinkShareのバナー配布条件を満たす事が重要です。)
このページを何回かリロードしてみてください。違うバナーが表示されますよね?
これをJavaではなく、PHPでやってみます。

まずはPHPが使用できるサーバであること。
つぎに、LinkShareのアフィリエイトに参加している事が重要です。
※このスクリプトによる、如何なる損害も、一切補償致しません。自己責任で設置してください。
※このスクリプトは、コメントあるいはトラックバックウェアとします。ご使用の際には必ずコメントあるいはトラックバックをお願いします。
※このスクリプトの改変は自由ですが、このままの形での再配布は禁止とします。改変の際は是非お知らせください。

LinkShare.php


<?php
// LinkShare ランダムバナーローテーション
//
// http://jun.daa.jp/
// junichi_y

// ———設定変更ここから———

$wid = 468; // 使用したいバナーの幅を設定
$hei = 60; // 使用したいバナーの高さを設定

// ———設定変更ここまで———
// ———リンク追加ここから———

$aa[]=”http://click.linksynergy.com/fs-bin/click?id=KykHlGp5ThQ&offerid=66373.10000038&type=4&subid=0″;
$ab[]=”iPod”;
$ac[]=”http://images.apple.com/jp/store/AF_banner/ipod3_468_60_0727.gif”;
$ad[]=”http://ad.linksynergy.com/fs-bin/show?id=KykHlGp5ThQ&bids=66373.10000038&type=4&subid=0″;

$aa[]=”http://click.linksynergy.com/fs-bin/click?id=KykHlGp5ThQ&offerid=66373.10000113&type=4&subid=0″;
$ab[]=”iPod Free Personalize”; // iPod mini パーソナライズ
$ac[]=”http://images.apple.com/jp/store/affiliate/img/ipodmini1014/468_60_ipodmini_d.gif”;
$ad[]=”http://ad.linksynergy.com/fs-bin/show?id=KykHlGp5ThQ&bids=66373.10000113&type=4&subid=0″;

// ———リンク追加ここまで———

// ———–以下変更不要———–
srand(microtime()*1000000);
$ra = rand(1, $n = count($aa));
$ra -= 1;
echo “<div class=\”affiliate\”>\n”;
echo “<a href=\”$aa[$ra]\” target=\”new\”>\n”;
echo “<img border=\”0\” width=\”$wid\” height=\”$hei\” alt=\”$ab[$ra]\” src=\”$ac[$ra]\” /></a>\n”;
echo “<img border=\”0\” width=\”1\” height=\”1\” src=\”$ad[$ra]\” />\n”;
echo “</div>\n”;
?>

MT使いの方は、テンプレート中に、
<? include”LinkShare.php”;?>
としてインクルードしてください。
※使用したいバナーの幅と高さに合わせ数値を変更してください。
※リンクを追加する場合は、「リンク追加ここから」以降、$aa~$adまでの4行をセットにして追加してください。
※サンプルは当方のコードですのでこのまま使用していただければありがたいのですが…。(笑)ご自分のコードに変えてご使用ください。
※各リンク毎にバナーの幅・高さを設定すれば、全く違った形のバナーを表示させることも可能ですが、表示された結果としてあまり美しくありませんので今回は止めました。

styles-site.cssに追加

.affiliate {
background: #e8e8e8;
text-align: center;
padding: 8px;
}

追記:2005/02/27
当方にて配布中のPHPについては、LinkShareの承認を得ていないものです。
よって、LinkShareからの通知等が来た場合、ユーザーにスムーズな連絡ができるよう、当エントリへのコメントあるいはトラックバックをお願いしております。
一部のサイトにて、コメント・トラックバックをされずにご使用が見られますので、是非上記のご協力をお願い致します。

タグ:
Posted 2005年2月10日 19時02分33秒 in php by junichi_y Comments (8)

人気記事Top10

  • このエントリーには同意の最新エントリーがありますので、これ以上の更新はありません。
  • 次のエントリー「人気記事Top10をPHPとMySQLで」を参照してください。

「人気記事Top10」を前々からしてみたかったのですが、

MTで人気記事ランキングを。:(CROSSBREED クロスブリード!)
blog:N@TURE BRAIN:人気記事ランキング(MT-MostVisited)再び

を、参考にさせて頂き、諦めていました。(笑)
だって、ウチもロリポップで、試してみてもウマくMT-MostVisitedプラグインが動かないんですもの。(;´д⊂)

ですが、この熱が再燃!ネット上をさまよい、ついに発見!
javascriptで設置一発!

philosophical:人気ページ一覧/リンク元一覧表示機能 Version0.3

設置方法は、ダウンロードしたファイル中の
「README_sjis.txt」に詳しく書かれています。
後は必要なファイルへのリンクを書き加えるだけ。

※ただし、ロリポップはcronが使用できませんので、手動にて更新しなければなりません。
以下、当サイトでの更新部分覚書

Main index
<div class=”コンテンツタイトル用CSSクラス”>
Popular Entry Top10
</div>
<div class=”コンテンツ用CSSクラス”>
<script type=”text/javascript” src=”設置場所までのパス/cgi/show_statistics_s.cgi”></script>
<br />
<a href=”javascript:void(0)” onClick=”window.open(‘設置場所までのパス/cgi/update_statistics.cgi?dummy’, ‘newwin’, ‘left=0,top=0,width=50,height=50,status=1′)”>最新情報に更新</a>
</div>

Individual Entry Archive 内の適当な場所 一部訂正:04/11/29
<div class=”設置場所に適切なCSSクラス”>このエントリーを参照しているリンク
</div>
<div id=”statistics”>
<script type=”text/javascript” src=”設置場所までのパス/refer.js”></script>
<script type=”text/javascript”>refer(“設置場所までのパス/cgi/refer_s.cgi”);</script>
</div>

styles-site 内に新規 id=”statistics”を作成 追記:04/11/29
#statistics{
適宜スタイルを記述
}

タグ: ,
Posted 2004年11月28日 15時57分50秒 in Movable Type, php by junichi_y Comments (5)

Get Adobe Flash player