#author("2019-12-19T10:32:56+09:00","","") #author("2019-12-19T10:34:06+09:00","","") **[[質問箱/5350]] [#u84453f2] |RIGHT:70|LEFT:410|c |~カテゴリ|インストール| |~サマリ|本当に困っています…。| |~サマリ|【解決済み】本当に困っています…。| |~バージョン|1.4.7| |~投稿者|[[匿名]]| |~状態|質問| |~投稿日|&new{2019-09-26 (木) 11:37:48};| ***質問 [#of34f876] 以前wikiを作った方の引き継ぎをしています。 こういった作業はした事がなく、調べながらやっているのですがどうにもうまく行きません。 1.4.7のwikiデータをバックアップし、 index.htmlと同じ場所に「update_pukiwiki_147to150_utf8.patch」を配置し、 「patch -p1 < ./update_pukiwiki_147to150_utf8.patch」をGit Bashで入力しました。 cdでファイルのある場所には移動しています。 can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -ur pukiwiki-1.4.7_notb_utf8/INSTALL.txt pukiwiki-1_5_0_utf8/INSTALL.txt |--- pukiwiki-1.4.7_notb_utf8/INSTALL.txt Sun Oct 22 05:41:09 2006 |+++ pukiwiki-1_5_0_utf8/INSTALL.txt Sun Jul 13 13:03:56 2014 -------------------------- File to patch: このような状態になりどうにもうまく出来ません。 わかっている方からすれば些細な問題かもしれませんが、当方こういった知識がなく本当に困っています。 以前wikiを作った方とも連絡がとれず、調べて途方にくれていたところです。 どうかご教授願えないでしょうか? 【解決致しました。本当にありがとうございます。】 ***【現状】アップデート後、500エラーから抜け出せずにいます。 [#h4bb16f1] 以下のファイルをアップロードすると500になってしまいます。~ 【menu.inc.php】 <?php ///////////////////////////////////////////////// // PukiWiki - Yet another WikiWikiWeb clone. // // $Id: menu.inc.php,v 1.8 2004/11/27 12:23:02 henoheno Exp $ // // サブメニューを使用する define('MENU_ENABLE_SUBMENU', FALSE); // サブメニューの名称 define('MENU_SUBMENUBAR', 'MenuBar'); function plugin_menu_convert() { global $vars, $menubar; static $menu = NULL; $num = func_num_args(); if ($num > 0) { // Try to change default 'MenuBar' page name (only) if ($num > 1) return '#menu(): Zero or One argument needed'; if ($menu !== NULL) return '#menu(): Already set: ' . htmlspecialchars($menu); $args = func_get_args(); if (! is_page($args[0])) { return '#menu(): No such page: ' . htmlspecialchars($args[0]); } else { $menu = $args[0]; // Set return ''; } } else { // Output menubar page data $page = ($menu === NULL) ? $menubar : $menu; if (MENU_ENABLE_SUBMENU) { $path = explode('/', strip_bracket($vars['page'])); while(! empty($path)) { $_page = join('/', $path) . '/' . MENU_SUBMENUBAR; if (is_page($_page)) { $page = $_page; break; } array_pop($path); } } if (! is_page($page)) { return ''; } else if ($vars['page'] == $page) { return '<!-- #menu(): You already view ' . htmlspecialchars($page) . ' -->'; } else { // Cut fixed anchors $menutext = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m', '$1$2', get_source($page)); return preg_replace('/<ul[^>]*>/', '<ul>', convert_html($menutext)); } } } ?> 【read.inc.php】 <?php // PukiWiki - Yet another WikiWikiWeb clone. // $Id: read.inc.php,v 1.8 2005/01/15 13:57:07 henoheno Exp $ // // Read plugin: Show a page and InterWiki function plugin_read_action() { global $vars, $_title_invalidwn, $_msg_invalidiwn; $page = isset($vars['page']) ? $vars['page'] : ''; if (is_page($page)) { // ページを表示 check_readable($page, true, true); header_lastmod($page); return array('msg'=>'', 'body'=>''); } else if (! PKWK_SAFE_MODE && is_interwiki($page)) { return do_plugin_action('interwiki'); // InterWikiNameを処理 } else if (is_pagename($page)) { $vars['cmd'] = 'edit'; return do_plugin_action('edit'); // 存在しないので、編集フォームを表示 } else { // 無効なページ名 return array( 'msg'=>$_title_invalidwn, 'body'=>str_replace('$1', htmlspecialchars($page), str_replace('$2', 'WikiName', $_msg_invalidiwn)) ); } } ?> ***回答 [#tac443dc] - これはファイルの配置が正しくない場合のエラー表示です。[[PukiWiki/Install/Update/1.5.0]] を見て作業されていますか?&br;> 1.4.7のwikiデータをバックアップし&br;とかれていますが、 wiki/ フォルダだけではなく (おそらく一階層上の) (index.html ではなく) index.php があるフォルダ以下すべてのファイルを取得してください。&br;update_pukiwiki_147to150_utf8.patch は (index.html ではなく) index.php があるフォルダの一つ上のディレクトリに配置してください。 (pukiwiki本体のファイルと混ざらないようにするためです)&br;GitBash 上で cd で 「index.php」のあるフォルダに移動し、「 patch -p1 < ../update_pukiwiki_147to150_utf8.patch 」のコマンドを実行してください。 「 ../update_」と 『.』が2つ続きます。注意してください -- [[umorigu]] &new{2019-09-27 (金) 00:59:05}; - 質問者です。解答ありがとうございます。これにより無事にバージョンアップする事が出来ました。しかし1.5.0でUPのち、500エラーにてページは変わらず閲覧出来ず、「PHP7に対応していないものが上げられている」となってしまいました。1.5.1に更にUPはしてみたものの、500エラーから直りません。これはやはり、正しくアップデート出来ていないという事なんでしょうか…。アップデートによって表示される文章などは同じでした。 -- [[匿名質問者]] &new{2019-11-27 (水) 15:38:39}; - 自作プラグインという拡張機能が導入されているのではないでしょうか。自作プラグインはオフィシャルだけではなく、いろんなところで配布されています。ひょっとしたら前任者の方が自作している可能性もあります。それらのphp5.6/7.0以降への対応はプラグイン毎にやる必要があります。pukiwiki本体でのアップデートでは対応できません。&br;phpのバージョンをいったん5.3.3に戻せるのであればいったん戻して、追加で入れられているものを把握したほうが良いように思います。pukiwiki内部あるいは他の場所にどのような変更を加えたのかなどの覚書は残っていないのでしょうか -- [[D]] &new{2019-11-27 (水) 18:43:56}; - 見れなくなったので新しいものにしてくれ。という状態で受け取った為、そういった覚書もすべてWiki内にあったようです。古いもののバックアップはとれているものの、phpのバージョンを戻す事は出来ないとの事でした。pluginフォルダにあるものを見る事は出来るのですが、そこから名前で検索していくしかないのでしょうか…。 -- [[匿名質問者]] &new{2019-11-28 (木) 11:51:11}; - 試しにpluginフォルダをすべて消してみたところ、plugin=read is not implemented.というメッセージにはなったもののWikiの姿が見れました…!これはやはりプラグインの可能性が大という事でしょうか… -- [[匿名質問者]] &new{2019-11-28 (木) 12:57:03}; - 「menu.inc.php」と「read.inc.php」をpluginフォルダにUPすると500エラーになるのがわかりました。 -- [[匿名質問者]] &new{2019-11-28 (木) 16:28:42}; - 1.5.1のPukiwikiをダウンロードし、中に入っている「menu.inc.php」と「read.inc.php」を差し替えでUPしては見たんですが、それはダメでした。細かくコメントをしてすいません。わかった事から書かせて頂いています。 -- [[匿名質問者]] &new{2019-11-28 (木) 17:27:04}; - ページあるいはメニューを表示しようとするとエラーになるみたいなので、その2つのプラグインがダメなのではなく、メニュー及びページ内で呼び出している他のものがダメなのように思えます。&br;1.5.1のPukiwikiのフルバージョンを別途ダウンロードしているのであれば、そちらのpluginフォルダ内と、サーバーからダウンロードしたpluginフォルダ内にあるものをと比べることはできないでしょうか。もともとあったものを他で配布されていたもので上書きした、あるいは設定した人が内容を変更した可能性もあるのでそれでも見つかるかどうかは定かではありません。またスキンも[[自作スキン]]あるいはどこかで配布されていたものを利用している可能性もあるので、そちらに一緒に入っていたものがエラーになっているという可能性もあります。&br;どこかにPukiwiki1.5.1をインストールできるのであれば、そちらに元のwiki内にある「attach」「wiki」必要であれば「backup」のフォルダをコピーすれば一応中身は見えるようにはなると思います。ただし別途導入したプラグインで記述している部分はエラー表示になるはずです。またIDやパスワードなどの設定はそれらのファイルには含まれませんので、誰でも閲覧可能なところにインストールするとちょっと面倒なことになると思いますが。 -- [[D]] &new{2019-11-29 (金) 10:42:21}; - Webサーバー (apache や nginx ) のログにエラーが表示されていないでしょうか?Webサーバーの設定次第ですが、500エラーの時は error_log のようなログファイルに Internal Server Errorの原因(何がどこでエラーになったか)が出力されていることがあります -- [[umorigu]] &new{2019-12-02 (月) 01:48:17}; - 【質問者です】エラーログを見る事は出来ないようです…。1.5.1をダウンロードし、「attach」「wiki」「backup」を残しそれ以外を入れ替えました。表示はされたのですが、ランタイムエラーとなり、ページを見る事は出来ませんでした。「Directory is not found or not writable (DIFF_DIR)」が出ています。実際「diff」というフォルダをいれる、あるいは作成すると「このページは動作していません」の500エラーになってしまいました。 -- [[匿名質問者]] &new{2019-12-10 (火) 14:46:10}; - 「Directory is not found or not writable (DIFF_DIR)」であれば、PHPから diff/ に書き込めないのだと思います。diff/ のパーミッションの設定を 777 に変更kするとどうでしょうか? -- [[umorigu]] &new{2019-12-12 (木) 00:58:40}; - 【質問者です】777に指定はしていたのですが、念の為一度全部を入れ直し、パーミッションも入れ直してみたのですが、変わらずでした…。 -- [[匿名質問者]] &new{2019-12-12 (木) 10:31:19}; - そうですか… 元のWikiデータを一切使わず、ダウンロードしたままのPukiWiki 1.5.2 や 1.5.1 は動作しますか? (別ディレクトリでの動作で構いません) -- [[umorigu]] &new{2019-12-13 (金) 09:21:49}; - 【質問者です】152では対応していないと言われていてのですが、一つずつ入れ直した結果152でようやく動作しました…!pluginの中にあるものが悪さしていたようです…。長い期間相談に乗ってくださり本当にありがとうございます…! -- [[匿名質問者]] &new{2019-12-18 (水) 17:19:32}; - 1.5.2が対応してないというのはどういうことでしょうね。PHP4.1から最新のPHP7.3まで動くはずです。ともあれ解決してよかったです -- [[umorigu]] &new{2019-12-19 (木) 00:16:35}; - 【質問者です】ありがとうございます。151では動かず、152で動いた理由がわからず仕舞なのですが、これを機に勉強してみたいと思います。本当にありがとうございました。 -- [[匿名質問者]] &new{2019-12-19 (木) 10:32:56}; #comment