質問箱/405

カテゴリ
サマリ編集のページの更新ができない
バージョン1.4.2
投稿者たこ?
状態不明
投稿日2004-01-17 (SAT) 21:42:13

質問

pukiwikiをインストールの説明どおりにやってあります。 ところが編集でページを書いた後、ページを更新のボタンをおすと異常に(更新に)時間がかかって。挙句に「サーバが見つかりません」のエラー表示になってしまいます。 プレビューの動作はまったく問題ありません。 同じサーバではすでに1個pukiwikiが問題なく動作しています。 今回その(すでに動作している)pukiwikiと環境が違う点はユーザディレクトリ(public_html)で動作させようとしているという点のみです。

方法は、 windowsXpで解凍→ftpでfreeBSDにあげる→scp(-r -p)で今回ターゲットとなるmacosx(webserver)にあげる→pukiwiki.ini.phpの設定及びパーミッション設定→動作確認

環境は、 OS:MacOSXserver1.3 Apache php4

回答

  • reimy 2004-01-17 (SAT) 23:01:21

    原因はわかりませんねぇ。PukiWiki.orgのサーバーでは少なくとも4つ以上のPukiWikiが稼働していますが、そのような症状は起きてません。複数稼働については原因ではないでしょう。

  • reimy 2004-01-17 (SAT) 23:08:12

    編集した結果は反映されているのでしょうか?

  • たこ? 2004-01-18 (SUN) 00:29:26

    それが反映されていないのです。chownとか必要なのですか?1つ目あげるときもつかっていないのですが。

  • たこ? 2004-01-18 (SUN) 00:35:32

    ちなみにURLは
    http://www.ubi.cs.ritsumei.ac.jp/~ykazuki/inner/pukiwiki/pukiwiki.php
    認証のユーザ名、パスワードはpukiwiki、pukiwikiです。

  • reimy 2004-01-18 (SUN) 00:48:49

    pukiwiki.ini.phpで$scriptは設定されてますか?

  • reimy 2004-01-18 (SUN) 00:50:49

    init.phpの11行目の

    error_reporting(E_ERROR | E_PARSE);
    error_reperting(E_ALL);
    に変えて、どういうエラーが出ているのか調べてみるとわかるかも。
  • たこ? 2004-01-18 (SUN) 01:30:11

    init.phpを

    error_reperting(E_ALL);
    に変えて見ましたが、特に変化なしです
  • たこ? 2004-01-18 (SUN) 01:31:47

    ちなみに、pukiwiki.ini.phpは

    $script ='http://www.ubi.cs.ritsumei.ac.jp/~ykazuki/inner/pukiwiki/pukiwiki.php';
    のように設定してあります。
  • reimy 2004-01-18 (SUN) 03:00:18

    PHP 4.3.2ってたしか何か問題があったはず…。なんだったかなぁ
    printf/sprintf/vprintf/vsprintf関数のバグだから関係なさそう。

    • reimy 2004-01-18 (SUN) 03:24:38

      4.3.2のバグで「register_globalsが有効な場合に、POSTデータに配列を指定すると正しく動作しない」というのがあるけど、関係なさそうだしなあ

  • たこ? 2004-01-18 (SUN) 03:00:27

    すみません、編集してたらreimyさんのレスが消えてしまいました。。

  • reimy 2004-01-18 (SUN) 03:01:30

    あ、あれは忘れてください。あれはローカルでないとテストできないので。

  • たこ? 2004-01-18 (SUN) 03:07:07

    私の環境はphp4.3.2なのですか?

    • reimy 2004-01-18 (SUN) 03:09:27

      上記のサイトは4.3.2って表示されてましたよ。

  • たこ? 2004-01-18 (SUN) 03:13:43

    ではバージョンを変えれば対処できるかもしれないということですか?
    対象方法はもう考えられませんか?

  • reimy 2004-01-18 (SUN) 03:18:39

    同じサーバー上で一方は正常に動作してるんですよね? public_htmlディレクトリでの動作で何かサーバー側で制限されているということはないですか?

  • たこ? 2004-01-18 (SUN) 03:21:21

    もう一方は事情があって見せられないのですが、正常動作しております。それはユーザディレクトリではなくサーバ(ルート)のディレクトリなのですが。

    <Directory /home>  
           AllowOverride AuthConfig                     #AuthConfigの上書き禁止
           DirectoryIndex pukiwiki.php                  #ディレクトリインデックスのファイル名
    </Directory>
  • たこ? 2004-01-18 (SUN) 03:27:01

    といったような設定はhttpd.confで設定しています。

  • たこ? 2004-01-18 (SUN) 03:33:08

    たしかにサーバ(ルート)のディレクトリにあったものをscp(-p -r)でもってきて設定を少し変更したのですが、正常動作しなかったので、その可能性は大いにありますね。もう一回httpd.conf見直してみます

  • reimy 2004-01-18 (SUN) 03:32:41

    edit.inc.phpのfunction plugin_edit_write()の中で

     else {
         $notimestamp = !empty($post['notimestamp']);
         page_write($post['page'],$postdata,$notimestamp);
    		
         if ($postdata != '') {
              header("Location: $script?".rawurlencode($post['page']));
         page_write($post['page'],$postdata,$notimestamp);
    //   page_write($post['page'],$postdata,$notimestamp);
    のようにコメントアウトしてみてください。元のページ(ページが存在しない場合は編集画面に戻るはず)が表示されますか?

    これで表示されないなら書き込み時(page_write)の問題ではないということになります。

  • たこ? 2004-01-18 (SUN) 04:03:01

    表示されます。

  • reimy 2004-01-18 (SUN) 04:05:17

    ということは、file.phpのpage_writeの中のどこかですね…

  • reimy 2004-01-18 (SUN) 04:36:19

    順番に探るしかないですね。function page_write()の中の

    $oldpostdata = is_page($page) ? join('',get_source($page)) : '';
    $diffdata = do_diff($oldpostdata,$postdata);
    file_write(DIFF_DIR,$page,$diffdata);
    だけを生かして、バックアップの作成~links_update($page);までをコメントアウトして実行してみてください。それで表示されるなら、次はバックアップの作成の部分を生かし…、順番に追ってみてください。
  • たこ? 2004-01-18 (SUN) 13:49:05

    バックアップの作成~links_update($page);までをコメントアウトしたところ、表示されないです。

  • たこ? 2004-01-18 (SUN) 13:49:51

    PHPはあまり知らないのですが、大きな範囲のコメントアウトはCみたいに「/**/」といったのでもOKですよね?

  • reimy 2004-01-19 (MON) 08:07:33

    file.phpのfunction make_backupの中で止まっているということですね。とすると、やはりパーミッション(またはオーナー)設定あたりが怪しいですね。

  • たこ? 2004-01-19 (MON) 23:27:33

    パーミッションに関しては、実際に正常動作しているものを「cp -r -p」で(状態保護)コピーしているので、問題ないと思います。このスレッドのレスでもかきましたが、chownをやっていないため、オーナー設定があやしいいと思うのですが、いったいどうやっていいものなのかわかりません。教えていただけないでしょうか?(実を言うと一回やりはしたのですが、うまく言ってない気がします。)

  • たこ? 2004-01-19 (MON) 23:33:07

    実際話、サーバの(HPディレクトリ)方では、chownをやらなくても動作しました。現在やっているのは(前もいいましたけど)ユーザディレクトリのpublic_htmlの方なのですが、このコマンドをどこで・どんなタイミングで・どのように使ったらいいのかがわかりません。



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

OSDN