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

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

**メッセージ [#ted2e910]
PukiWikiのコアがインストールされたディレクトリ((<pukiwiki>/lib/pukiwiki.phpの<pukiwiki>を便宜上コアがインストールされたディレクトリと書いてます))を指す定数が欲しいです.
例えば複数wikiを1つのPukiWikiでこなすときに,

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

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

----
-1.4.4以降であれば pukiwiki.ini.php 内の定数で示されています。 --  &new{2005-02-28 (月) 01:47:53};
-DATA_HOMEですね :) --  &new{2005-02-28 (月) 02:42:55};
--DATA_HOMEはwikiディレクトリなどデータのディレクトリを指しますよね. -- [[ELF]] &new{2005-02-28 (月) 08:46:27};
CENTER:index.phpの抜粋
 define('DATA_HOME', dirname(__FILE__).'/data/');
とした場合,<index.phpがあるディレクトリ>/data/plugin」にプラグインを置かないといけないわけですね.
で,
CENTER:pukiwiki.ini.phpのデフォルト
 define('PLUGIN_DIR',    HOME_DATA . 'plugin/'   ); // Plugin directory
を
CENTER:pukiwiki.ini.phpの希望のイメージ
 define('PLUGIN_DIR',    PKWK_DIR . 'plugin/'   ); // Plugin directory
にして複数のPukiWikiプラグインを共用したいわけです.
シンボリックリンクでもコピーでもできなかないですが,スマートでないし,PKWK_DIRがPukiWikiのコアがあるディレクトリで定義されていればいいわけです((かつこういう定数は何かと使い道がある)).
--「いいわけです」とか断言してえらそうな口調になっちゃってますね.すみません(苦笑 -- [[ELF]] &new{2005-02-28 (月) 09:15:35};
--確かに lib と plugin, skin, image はそれぞれのwikiで共通化出来ますね。 --  &new{2005-02-28 (月) 09:23:15};
--PLUGIN_DIRの定義を index.php に移すだけだったりして・・・ --  &new{2005-02-28 (月) 11:02:31};
-PukiWiki/WikiFarm に関連するのかな? -- [[okkez]] &new{2005-02-28 (月) 15:41:13};
--ある意味WikiFarmてきなことです((結構前にIRCで話してても記録に残らないのでやっと書きに来たと)). -- [[ELF]] &new{2005-02-28 (月) 22:31:58};
---ちなみに自称Puki Wiki Farmとか呼んでるなんちゃってはこっちにあります.http&#x3a;//elf.no-ip.org/test/pukiwiki/index.php/elf/ 1.4.4ベースで結構いじっちゃってますが,最後の/elf/を好きに変えれば最大20個まで即座に作成されます.トータル制御のロジックは全然組んでませんが -- [[ELF]] &new{2005-02-28 (月) 22:33:24};
---20個既に埋まってたので50個までいくようにしました -- [[ELF]] &new{2005-03-04 (金) 16:31:46};
-これって私が前に言った気がするんですが…思ってただけで言ってなかったようです(汗 私のWikiでは、pukiwiki.ini.phpに以下の設定をしてしのいでます。  -- [[Ratbeta]] &new{2005-02-28 (月) 17:50:47};
 define('PLUGIN_DIR',    DATA_HOME . '../plugin/'); // Plugin directory
-imageとlibはpukiwiki(index).phpを同じディレクトリに配置しておけば共用が可能です。言語ファイルの共通化は[[BugTrack/754]]に修正方法を載せてます。 -- [[Ratbeta]] &new{2005-02-28 (月) 17:56:53};
--すみませんが番号違いのような気がします -- [[ELF]] &new{2005-03-06 (日) 23:21:20};
--ありゃ…すみません。本当は[[BugTrack/579]]です。 -- [[Ratbeta]] &new{2005-03-07 (月) 17:45:06};
---このBugTrackについては既に対処がされているようですが,例えばlngファイル程度ならPKWK_DIRがあれば<?php require PKWK_DIR.basename( __FILE__);' ?>という内容のlngファイルをコピーしまわれば共通化が可能です(うちのPuki Wiki Farm((造語なのでリンクにならないように(苦笑 ))はそうやってる)プラグインはなかなかそういうわけには行かないので. -- [[ELF]] &new{2005-03-08 (火) 01:59:21};
-例えば
CENTER:index.php
 <?php
 define('DATA_HOME',     'data/');
 define('PKWK_DIR',      '/usr/share/pukiwiki/');
 define('LIB_DIR',       PKWK_DIR.'lib/');
 require(LIB_DIR . 'pukiwiki.php');
 ?>
CENTER: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毎に異なる必要がない((理由をつければ「異なる必要がある」というケースを作れますが))ので,pukiwiki.phpかコアのいずれかで定義されてたらいいと.

-こんにちは :) 話に乗り遅れました。DATA_HOMEは今のところ「一本分のPukiWikiの維持に必要で、''他とは独立して持たせられるようにしたくなるもの''全部」を抱えています。pluginも、現状はその一つです。どうして(1.4.4リリース時に)そうしたのかなど、いくつかの話題は [[official:WebTrack/28#c693eb6e]] をご覧下さい。短く言えば、PukiWiki一本ごとにpluginを''安全に''取捨選択できるような仕組みが実現していたなら、デフォルトをこうはしなかったでしょう。((管理者にとってはPukiWikiごとに「不要なプラグインを削除し、使うプラグインだけ入れておく」というのが最も安心できる状態だと思います。また、PukiWiki一本ごとの用途が同じでなければならない必要はありません)) -- [[henoheno]] &new{2005-03-08 (火) 23:19:26};
-- 同じ事を言われている方がいらっしゃいますが、LIB_DIR と同じように、特定の PLUGIN_DIR を''任意の''(例えば5本立てるうちの3本の)PukiWikiで共有させたいというのであれば、LIB_DIR と同じように、共有を希望する任意の index.php の中で PLUGIN_DIR を定義してやるのが最も簡便で取り回しが効くと思います。(※元々defineしているところはコメントアウトするなりする) -- [[henoheno]] &new{2005-03-08 (火) 23:19:37};
-ちなみにPKWK_DIR(仮称)を定義することに対しての問題点はあるのでしょうか? 仮にPKWK_DIRが存在するならhenohenoさん仰るようなことが「index.phpでPLUGIN_DIRを定義する」「pukiwiki.ini.phpを編集する」の2アクションは後者の1アクションだけで行えるようになります. -- [[ELF]] &new{2005-03-16 (水) 00:19:43};
-またPukiWikiのコアを表す定数を2箇所指定しないといけないということは設置者のミスの誘発は2倍に(少なくとも等倍より大きく)なると思います((そもそもでいうと「index.phpでLIB_DIRを定義」じゃなくて「PKWK_DIRをindex.phpで定義し,require PKWK_DIR.'lib/pukiwiki.php';になってたら丸く収まっていた予感)). -- [[ELF]] &new{2005-03-16 (水) 00:22:19};

//#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.374 sec.

SourceForge