開発日記

1.4 最後の調整 -- ぱんだ

データベース操作関係のバグfix

  • 未作成ページを新規作成したときに関連ページが出力されない問題を修正するため、未作成ページのリンク状況もデータベースに格納するようにしました。
  • どこからもリンクされていない未作成ページがデータベースに残る問題を修正しました。

注意:データベースを作り直す必要があります。

http://.../pukiwiki.php?plugin=links&adminpass=<pass>

を実行してください。

データベース操作関係を調整しました。

  • 動作を確認したのは以下です。
    • ファイルベース
    • PostgreSQL 7.2.3 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
    • mysql Ver 11.18 Distrib 3.23.55, for Win95/Win98 (i32) OS Platform : Windows 2000 Service Pack 3
  • pukiwiki.ini.phpの、MySQL関係の設定項目を追加しました。
    (従来はlocalhostの'pukiwiki'データベースに,サーバプロセスの所有者/パスワードなしで接続しようとしていました。)
    /////////////////////////////////////////////////
    // 関連するページのキャッシュ
    // ファイルベースのときはdefine('LINK_DB',...)をコメントアウト
    // MySQL
    //define('LINK_DB','mysql');
    //define('MYSQL_HOST','localhost');
    //define('MYSQL_USER','apache');
    //define('MYSQL_PASS','');
    //define('MYSQL_DB','pukiwiki');
  • 修正

データベース作成手順概略(MySQL/Windows編)

C:\mysql\bin> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22 to server version: 3.23.55-nt 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create table pukiwiki;
Query OK, 1 row affected (0.02 sec)

mysql> use pukiwiki;
Database changed
mysql> create table page (id integer auto_increment primary key, name text not null, lastmod integer not null);
Query OK, 0 rows affected (0.12 sec)

mysql> create table link (page_id integer not null, ref_id integer not null);
Query OK, 0 rows affected (0.07 sec)

mysql> quit
Bye
  • mysqlではなくphpMyAdmin日本語版で設定することになってるので、上記の表現ではよくわかんない。 -- reimy 2003-03-10 (月) 23:54:25
  • phpMyAdminだと読み込ませる手があったと思うんですが既に忘却の彼方... -- たらこせる 2003-03-11 (火) 00:05:28
  • phpMyAdmin…使ったことないんです。得意な人解説希望 :) -- ぱんだ 2003-03-11 (火) 00:23:46
  • 最初の画面でデータベースを作成した後、左側のフレームのドロップダウンから作成したデータベースを選択、画面上部の「SQL」ってタブみたいなものをクリックして、テキストエリアに -- ちょび? 2003-03-11 (火) 00:44:43
  • create table page (id integer auto_increment primary key, name text not null, lastmod integer not null); -- 2003-03-11 (火) 00:44:58
  • create table link (page_id integer not null, ref_id integer not null); -- 2003-03-11 (火) 00:45:14
  • の2行を入力して「実行」ボタンをクリックすればいけるんじゃないかと思います。 -- 2003-03-11 (火) 00:46:10
  • MySQLのほうはうまくいきました。残るはPostgreSQLだな… -- reimy 2003-03-11 (火) 01:32:26
  • うーん、SQLを使わないほうが速いような…(^^;; ページ数が多いとSQLを使うほうが遅くなるのかなあ -- reimy 2003-03-11 (火) 01:38:34
  • SQLを使ったとき、yetlistの表示がおかしくなるようです。先頭に空のページ名が未作成ページとして表示され、日本語名ページが( )に山のようにリンクされる。使わないときは正常。UTF-8化の弊害? -- reimy 2003-03-11 (火) 01:40:26
  • MySQLあり:HTML convert time to 0.852 sec.、MySQLなし:HTML convert time to 0.731 sec. -- reimy 2003-03-11 (火) 02:00:02
  • というわけで、高速化にはならないようなのでSQLなしにしました。 -- reimy 2003-03-11 (火) 02:01:37

データベース作成手順概略(PostgreSQL/Red Hat Linux編)

$ createdb pukiwiki
$ psql pukiwiki
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

pukiwiki=# create user apache;
CREATE USER
pukiwiki=# create table page (id serial primary key, name text not null, lastmod integer not null);
NOTICE:  CREATE TABLE will create implicit sequence 'page_id_seq' for SERIAL column 'page.id'
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 'page_pkey' for table 'page'
CREATE
pukiwiki=# create table link (page_id integer not null, ref_id integer not null);
CREATE
pukiwiki=# grant all on page,link,page_id_seq to apache;
GRANT
pukiwiki=# \q
$
  • pukiwiki=# create user apache;を実行すると、ERROR: CREATE USER: permission deniedになってしまう。 -- reimy 2003-03-10 (月) 23:45:07
  • 自分にCREATEUSERの権限がない場合は su - postgres する必要がありますね。 -- ぱんだ 2003-03-11 (火) 00:16:27
  • 「apache」の部分は apache実行ユーザ名(と同じ?)になるんですよね? レンタル・サーバの場合は既に作成されていたりもするので、とりあえず create user文はほっといて、grantしてみても良いのではないかと。 -- ちょび? 2003-03-11 (火) 00:52:51
  • grant all on page,link,page_id_seq to apache;でERROR: user "apache" does not existになってしまう -- reimy 2003-03-11 (火) 01:08:08
  • grant all on page,link,page_id_seq to webuser;でgrantしました。 -- reimy 2003-03-11 (火) 01:11:24
  • Runtime Errorになります。Error message : query 'SELECT id,name FROM page WHERE name='れいみぃ/好きな俳優';' failure. -- reimy 2003-03-11 (火) 01:15:55
  • Error message : query 'INSERT INTO page (name,lastmod) VALUES ('InterWikiテクニカル',1046369546);' failure. -- reimy 2003-03-11 (火) 01:20:33
  • う~ん...一度、psqlから drop table page; と drop table link; と drop sequence page_id_seq; を一つずつ実行した後で、もう一度 create table page ( ... からやり直してみてはいかがでしょう? -- ちょび? 2003-03-11 (火) 01:34:21
  • 後は、、pukiwiki.ini.php内で define('PG_CONNECT_STRING','dbname=pukiwiki host=localhost user=webuser'); とする。ぐらいしかわからないです。すみません。 -- ちょび? 2003-03-11 (火) 01:42:15
  • これ関係ない? -- ishii 2003-03-14 (金) 16:34:29

config.phpを調整しました。(PukiWiki/1.4/プラグイン開発を便利に)

  • ダイレクトアクセスタイプをサポートしました。
    upkさん:お手数ですが、これを使ってみてください。
  • 修正

pre6に移行しました。

今週一週間様子を見て、新たな問題がなければrc1にします。

define('S_VERSION','1.4pre6');

1.3.4リリース準備(2) 開発日記/2003-02-23以来手付かず

ヘルプはpukiwiki:ヘルプをそのまま使用?

  • NewTable、YukiWiki互換Table、AutoLinkなどヘルプに入れるかどうか思案中。AutoLinkなど、各設置者が導入するかどうかで変わるので、どうしようかなあ… -- reimy 2003-03-11 (火) 00:40:22

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-06-26 (木) 01:46:44
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.216 sec.

OSDN