トップ/pukiwiki1.5/counter.inc.php
#author("2023-12-26T23:21:47+09:00","default:nemusg.pad","nemusg.pad") #author("2023-12-26T23:24:53+09:00","default:nemusg.pad","nemusg.pad") #title(pukiwiki1.5でのcounter.inc.phpの使い方) 目次 #contents #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{{ define('PLUGIN_COUNTER_DB_CONNECT_STRING', 'sqlite:counter/counter.db'); }} - counter.dbとcounterディレクトリのパーミッションは777にする(多分) - counter.dbの中身が空だとエラーになるので中身を用意してあげる必要がある -- カウンターが0からで問題ない場合は、[[テーブルのみ作成した空のcounter.db:https://github.com/pukiwiki/pukiwiki/blob/e63e44e21917c3a30ce468393c33f6990d585ad3/counter/counter.db]]ファイルとcounterフォルダにアップロードすればOK -- 既存のカウント情報を引き継ぎたい場合は、[[BugTrack/2422:https://pukiwiki.sourceforge.io/dev/?BugTrack/2422]]でダウンロードできる counter_db_tool.php を使ってcounter.dbファイルを生成する(未実施) * 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{{ define('PLUGIN_COUNTER_DB_CONNECT_STRING', '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%) * MySQL利用だと popular.inc.php(人気のXX件)が動かない問題 [#v9df07af] - MySQLを使ってカウンターが動くようにはなったが、この状態で popular.inc.php を使おうとするとエラーがでてサイトが真っ白になってしまう……。[[質問箱/5497 - PukiWiki-official:https://pukiwiki.sourceforge.io/?%E8%B3%AA%E5%95%8F%E7%AE%B1/5497]]に相談してみました。 -- にわかゾイダーさんが[[修正プルリク:https://github.com/pukiwiki/pukiwiki/compare/master...niwakazoider:pukiwiki:master]]を作ってくれました!そのうちマージされるかもですが、とりあえずこのcounter.inc.phpの変更を取り込めば同時利用できるようになります。 -- (追記)にわかゾイダーさんが[[修正プルリク:https://github.com/pukiwiki/pukiwiki/compare/master...niwakazoider:pukiwiki:master]]を作ってくれました!そのうちマージされるかもですが、とりあえずこのcounter.inc.phpの変更を取り込めば同時利用できるようになります。 counter.inc.php: Error occurred on getting pupular pages