PukiWikiのベースディレクトリを指す定数が欲しい

  • ページ: BugTrack2
  • 投稿者: ELF
  • 優先順位: 低
  • 状態: 却下
  • カテゴリー: 本体新機能
  • 投稿日: 2005-02-28 (月) 01:31:17
  • バージョン:

メッセージ

PukiWikiのコアがインストールされたディレクトリ*1を指す定数が欲しいです. 例えば複数wikiを1つのPukiWikiでこなすときに,

define('PLUGIN_DIR', PKWK_DIR . 'plugin/');

といったようにしてプラグインを共用化したいのですが,毎回パッチ当てるのが面倒です(苦笑


  • 1.4.4以降であれば pukiwiki.ini.php 内の定数で示されています。 -- 2005-02-28 (月) 01:47:53
  • DATA_HOMEですね :) -- 2005-02-28 (月) 02:42:55
    • DATA_HOMEはwikiディレクトリなどデータのディレクトリを指しますよね. -- ELF 2005-02-28 (月) 08:46:27
      index.phpの抜粋
      define('DATA_HOME', dirname(__FILE__).'/data/');
      とした場合,<index.phpがあるディレクトリ>/data/plugin」にプラグインを置かないといけないわけですね. で,
      pukiwiki.ini.phpのデフォルト
      define('PLUGIN_DIR',    HOME_DATA . 'plugin/'   ); // Plugin directory
      pukiwiki.ini.phpの希望のイメージ
      define('PLUGIN_DIR',    PKWK_DIR . 'plugin/'   ); // Plugin directory
      にして複数のPukiWikiプラグインを共用したいわけです. シンボリックリンクでもコピーでもできなかないですが,スマートでないし,PKWK_DIRがPukiWikiのコアがあるディレクトリで定義されていればいいわけです*2
    • 「いいわけです」とか断言してえらそうな口調になっちゃってますね.すみません(苦笑 -- ELF 2005-02-28 (月) 09:15:35
    • 確かに lib と plugin, skin, image はそれぞれのwikiで共通化出来ますね。 -- 2005-02-28 (月) 09:23:15
    • PLUGIN_DIRの定義を index.php に移すだけだったりして・・・ -- 2005-02-28 (月) 11:02:31
  • PukiWiki/WikiFarm に関連するのかな? -- okkez 2005-02-28 (月) 15:41:13
    • ある意味WikiFarmてきなことです*3. -- ELF 2005-02-28 (月) 22:31:58
      • ちなみに自称Puki Wiki Farmとか呼んでるなんちゃってはこっちにあります.http://elf.no-ip.org/test/pukiwiki/index.php/elf/ 1.4.4ベースで結構いじっちゃってますが,最後の/elf/を好きに変えれば最大20個まで即座に作成されます.トータル制御のロジックは全然組んでませんが -- ELF 2005-02-28 (月) 22:33:24
      • 20個既に埋まってたので50個までいくようにしました -- ELF 2005-03-04 (金) 16:31:46
  • これって私が前に言った気がするんですが…思ってただけで言ってなかったようです(汗 私のWikiでは、pukiwiki.ini.phpに以下の設定をしてしのいでます。 -- Ratbeta? 2005-02-28 (月) 17:50:47
    define('PLUGIN_DIR',    DATA_HOME . '../plugin/'); // Plugin directory
  • imageとlibはpukiwiki(index).phpを同じディレクトリに配置しておけば共用が可能です。言語ファイルの共通化はBugTrack/754に修正方法を載せてます。 -- Ratbeta? 2005-02-28 (月) 17:56:53
    • すみませんが番号違いのような気がします -- ELF 2005-03-06 (日) 23:21:20
    • ありゃ…すみません。本当はBugTrack/579です。 -- Ratbeta? 2005-03-07 (月) 17:45:06
      • このBugTrackについては既に対処がされているようですが,例えばlngファイル程度ならPKWK_DIRがあれば<?php require PKWK_DIR.basename( __FILE__);' ?>という内容のlngファイルをコピーしまわれば共通化が可能です(うちのPuki Wiki Farm*4はそうやってる)プラグインはなかなかそういうわけには行かないので. -- ELF 2005-03-08 (火) 01:59:21
  • 例えば
    index.php
    <?php
    define('DATA_HOME',     'data/');
    define('PKWK_DIR',      '/usr/share/pukiwiki/');
    define('LIB_DIR',       PKWK_DIR.'lib/');
    require(LIB_DIR . 'pukiwiki.php');
    ?>
    pukiwiki.ini.php
    <?php
    (snip)
    define('DATA_DIR',      DATA_HOME . 'wiki/'     ); // Latest wiki texts
    define('DIFF_DIR',      DATA_HOME . 'diff/'     ); // Latest diffs
    define('BACKUP_DIR',    DATA_HOME . 'backup/'   ); // Backups
    define('CACHE_DIR',     DATA_HOME . 'cache/'    ); // Some sort of caches
    define('UPLOAD_DIR',    DATA_HOME . 'attach/'   ); // Attached files and logs
    define('COUNTER_DIR',   DATA_HOME . 'counter/'  ); // Counter plugin's counts
    define('TRACKBACK_DIR', DATA_HOME . 'trackback/'); // TrackBack logs
    define('PLUGIN_DIR',    PKWK_DIR . 'plugin/'   ); // Plugin directory
    (snip)
    これでindex.phpを好きな場所に置けます.また,PKWK_DIRはindex.php毎に異なる必要がない*5ので,pukiwiki.phpかコアのいずれかで定義されてたらいいと.
  • こんにちは :) 話に乗り遅れました。DATA_HOMEは今のところ「一本分のPukiWikiの維持に必要で、他とは独立して持たせられるようにしたくなるもの全部」を抱えています。pluginも、現状はその一つです。どうして(1.4.4リリース時に)そうしたのかなど、いくつかの話題は official:WebTrack/28 をご覧下さい。短く言えば、PukiWiki一本ごとにpluginを安全に取捨選択できるような仕組みが実現していたなら、デフォルトをこうはしなかったでしょう。*6 -- henoheno 2005-03-08 (火) 23:19:26
    • 同じ事を言われている方がいらっしゃいますが、LIB_DIR と同じように、特定の PLUGIN_DIR を任意の(例えば5本立てるうちの3本の)PukiWikiで共有させたいというのであれば、LIB_DIR と同じように、共有を希望する任意の index.php の中で PLUGIN_DIR を定義してやるのが最も簡便で取り回しが効くと思います。(※元々defineしているところはコメントアウトするなりする) -- henoheno 2005-03-08 (火) 23:19:37
  • ちなみにPKWK_DIR(仮称)を定義することに対しての問題点はあるのでしょうか? 仮にPKWK_DIRが存在するならhenohenoさん仰るようなことが「index.phpでPLUGIN_DIRを定義する」「pukiwiki.ini.phpを編集する」の2アクションは後者の1アクションだけで行えるようになります. -- ELF 2005-03-16 (水) 00:19:43
  • またPukiWikiのコアを表す定数を2箇所指定しないといけないということは設置者のミスの誘発は2倍に(少なくとも等倍より大きく)なると思います*7. -- ELF 2005-03-16 (水) 00:22:19

*1 <pukiwiki>/lib/pukiwiki.phpの<pukiwiki>を便宜上コアがインストールされたディレクトリと書いてます
*2 かつこういう定数は何かと使い道がある
*3 結構前にIRCで話してても記録に残らないのでやっと書きに来たと
*4 造語なのでリンクにならないように(苦笑
*5 理由をつければ「異なる必要がある」というケースを作れますが
*6 管理者にとってはPukiWikiごとに「不要なプラグインを削除し、使うプラグインだけ入れておく」というのが最も安心できる状態だと思います。また、PukiWiki一本ごとの用途が同じでなければならない必要はありません
*7 そもそもでいうと「index.phpでLIB_DIRを定義」じゃなくて「PKWK_DIRをindex.phpで定義し,require PKWK_DIR.'lib/pukiwiki.php';になってたら丸く収まっていた予感

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-03-21 (月) 15:21:20
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.386 sec.

OSDN