pukiwiki1.5/counter.inc.php の履歴ソース(No.2)

#author("2023-12-21T01:13:52+09:00","default:nemusg.pad","nemusg.pad")
* counter.inc.php の使い方 [#z5034ec7]

#ref(pukiwiki1.5/counter.inc.php/counter1.png,100%)

[[pukiwiki1.5.2:https://pukiwiki.sourceforge.io/?PukiWiki/Download/1.5.2#kce7aee5]]から、counterにデータベース(SQLite, MySQL)が使えるようになったが、やり方が分からなかったので書きました。&br;大半はにわかゾイダーさんに教わりました。ありがとうございます。

- pluginの公式マニュアル [[Manual/Plugin/counter:https://pukiwiki.sourceforge.io/?PukiWiki/1.4/Manual/Plugin/A-D#content_1_20]]
- [[counter.inc.php(GitHub):https://github.com/pukiwiki/pukiwiki/blob/master/plugin/counter.inc.php]]
- [[SQLiteとMySQLの比較─長所と短所:https://kinsta.com/jp/blog/sqlite-vs-mysql/]] counterぐらいならSQLiteでも十分な印象はある

** SQLiteを利用する方法 [#cbd7048e]

- PLUGIN_COUNTER_DB_CONNECT_STRINGの次の文字列は変更しないでOK(counter.dbのファイルの置き場所を変えたい場合は変更する)

#code_x{{
sqlite:counter/counter.db
}}

- counter.dbとcounterディレクトリのパーミッションは777にする(多分)
- counter.dbの中身が空だとエラーになるので中身を用意してあげる必要がある(多分)
-- [[BugTrack/2422:https://pukiwiki.sourceforge.io/dev/?BugTrack/2422]]でダウンロードできる counter_db_tool.php を使って中身を入れてあげると動くかも

** MySQLを利用する方法 [#ybbeee11]

- 予めデータベースを作成して、中身のテーブルを作っておく必要がある(勝手に作ってくれるのかと思っていたがそうではないらしい)
-- [[データベース - レンタルサーバー CORESERVER(コアサーバー):https://help.coreserver.jp/manual/v2/screen-database/]]
-- phpMyAdminのSQLで下記を実行

#ref(pukiwiki1.5/counter.inc.php/counter2.png,50%)

#code_x{{
CREATE TABLE page_counter (
   page_name VARCHAR(190) PRIMARY KEY,
   total INTEGER NOT NULL,
   update_date VARCHAR(20) NOT NULL,
   today_viewcount INTEGER NOT NULL,
   yesterday_viewcount INTEGER NOT NULL,
   remote_addr VARCHAR(100)
 )
}}

- counter.inc.phpの編集
-- PLUGIN_COUNTER_USE_DBを1に変更
-- PLUGIN_COUNTER_DB_CONNECT_STRINGの次の文字列を変更

#code_x{{
mysql:host=localhost;dbname=nemusg_pukiwiki
}}

-- PLUGIN_COUNTER_DB_USERNAMEにはデータベース作成時のユーザー名を入れる
-- PLUGIN_COUNTER_DB_PASSWORDにはデータベース作成時のパスワードを入れる
-- `For MySQL` の文字列は文字コードの設定のようなので問題がなければ変更不要。

#ref(pukiwiki1.5/counter.inc.php/counter3.png,50%)

* 残課題 [#v9df07af]

- MySQLを使ってカウンターが動くようにはなったが、この状態で popular.inc.php を使おうとするとエラーがでてサイトが真っ白になってしまう……。[[質問箱/5497 - PukiWiki-official:https://pukiwiki.sourceforge.io/?%E8%B3%AA%E5%95%8F%E7%AE%B1/5497]]に相談してみました。

 counter.inc.php: Error occurred on getting pupular pages