Ticket #4175 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

public_htmlのディレクトリ名を変更していた場合、2.14.0アップデートスクリプトが正常に処理されない

Reported by: pnetan Assigned to: shingo
Priority: critical Milestone: OpenPNE2.14.1
Component: 指定しない Version: 2.14.x
Keywords: Cc:

Description (Last modified by kiwa)

■現象

・public_htmlのディレクトリ名を変更していた場合、2.14.0アップデートスクリプトが正常に処理されない
・正常に完了したかどうかが分からない

■原因

パス指定箇所で「public_html」とハードコーディングされていた為

■修正内容

config.phpで設定する定数を利用するように変更

■関連情報

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=21210より転記

2.14.0へのアップデートでは
画像サイズの登録のためにアップデートスクリプトが追加されていますが、
添付されている Readme の説明が不十分なため、
書かれているまま実行すると
public_html のまま設置してない人は正常に処理できません。

2行目の
chdir("../../../public_html");
を設置環境に合わせて書き換える必要があることも、
Readme に記載しておいた方が親切かと思います。

あと、実行に成功した場合でも
何もメッセージが表示されないので、
実行に成功したか分かり難いです。

実行に成功しているときは、
プロンプトが戻ってくるまでに時間が掛かることぐらいは
書かれていると不安を減らせると思います。 

Change History

07/30/09 11:53:11 changed by kiwa

  • keywords deleted.

2.14.1で対応します。

07/30/09 12:01:40 changed by kiwa

  • summary changed from 2.14.0アップデートスクリプトが正常に処理できない場合がある to public_htmlのディレクトリ名を変更していた場合、2.14.0アップデートスクリプトが正常に処理されない.

08/10/09 19:29:29 changed by shingo

  • keywords set to 確認中.

r12582 で対応しました。

08/11/09 10:13:25 changed by shingo

  • owner changed from nobody to shingo.
  • status changed from new to assigned.

08/11/09 10:34:53 changed by shingo

  • description changed.

r12585 でスクリプト完了時に完了メッセー時を出力するように変更し、その旨をドキュメントに追記しました。

08/11/09 10:37:39 changed by shingo

  • description changed.

08/11/09 15:29:42 changed by kiwa

  • keywords changed from 確認中 to 差し戻し.

2.14と同期させるため、アップグレード周りもtrunkの修正を入れてください。

08/11/09 16:06:11 changed by kiwa

  • keywords changed from 差し戻し to 確認中.
  • description changed.

r12591 にてtrunkに取り込みました。

08/11/09 18:24:01 changed by kiwa

  • keywords changed from 確認中 to 差し戻し.
  • setup/script/upgrade/upgrade01.php
  • setup/script/update/update01-for2.13.8-insert_image_size.php
      4 require_once(OPENPNE_WEBAPP_DIR . "/init.inc");
    

PEARコーディング規約で読み込むファイル名の前後の括弧は付けないようにとあります。

参考
http://pear.php.net/manual/ja/standards.including.php

08/12/09 04:20:24 changed by urabe

細かな指摘になりますが、追記します。
以下の指摘点は今回のチケットの問題とはちょっと違うので別チケットで対応でいいかもしれません

  • 関数の説明文はPHPDocumentorで読み込める形式が望ましいかと思います。
    //----------
    //- 登録済み画像のファイルサイズを求める
    function get_image_size($category, $params, $handle)
     ↓
    /**
     * 登録済み画像のファイルサイズを求める
     */
    function get_image_size($category, $params, $handle)
    
  • 配列の中のカンマのあとにスペースがありません。
    16	    $image_dsn = array('main','image');
    
  • プレースホルダを使用したSQL文のほうが安全だと思います。
    指摘箇所一例)26	$sql .= " $c_member_id as c_member_id, ";
    
  • SQL文は特に意図しない限りシングルクオートで囲んだ方がいいと思います。
  • 34~39行は細かく変数への追記を分ける必要はないと思います。
  • 122、127、129 に不要な行がある
  • $category_list の中の配列一覧のインデントは空白が多すぎるので、行内で80文字を超えている箇所があります。インデントは空白4つが適切ではないかと思います。
    • 配列のインデントは以下のソースの67行目の$targetに代入されている配列を参考にしてもらえるといいかと思います。

http://trac.openpne.jp/browser/OpenPNE/branches/stable-2.10.x/setup/script/upgrade/upgrade02.php

08/12/09 08:27:26 changed by urabe

追記

  • 不要なコメントアウトは削除してください。
    180	// テンポラリファイル削除 
    181	//unlink($filename); 
    

08/12/09 10:47:34 changed by shingo

以下のリビジョンで修正しました

08/12/09 10:47:57 changed by shingo

  • keywords changed from 差し戻し to 確認中.

08/12/09 11:25:55 changed by urabe

  • keywords changed from 確認中 to テスト待ち.

以下の件については、特にサニタイズは不要と認識しましたので、OKとします。 * プレースホルダを使用したSQL文 テスト待ちにしました。

08/12/09 20:32:08 changed by kiwa

  • keywords deleted.
  • status changed from assigned to closed.
  • resolution set to fixed.

問題ないと判断し、チケットを閉じます。

08/12/09 21:01:04 changed by kiwa

  • keywords set to テスト待ち.
  • status changed from closed to reopened.
  • resolution deleted.

閉じるチケット間違えてました。。。

08/14/09 20:10:56 changed by kiwa

  • keywords deleted.
  • status changed from reopened to closed.
  • resolution set to fixed.
  • OPENPNE_PUBLIC_HTML_DIR: web/

の状態で正常にupdate01-for2.13.8-insert_image_size.php と upgrade01.php が動作するか確認しました。

問題ないようなのでこのチケットは閉じます。