ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 9 years ago

Closed 9 years ago

#4175 closed defect (fixed)

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

Reported by: imamura623 Owned by: 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 (17)

comment:1 Changed 9 years ago by kiwa

Keywords: 再現待ち removed

2.14.1で対応します。

comment:2 Changed 9 years ago by kiwa

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

comment:3 Changed 9 years ago by shingo

Keywords: 確認中 added

r12582 で対応しました。

comment:4 Changed 9 years ago by shingo

Owner: changed from nobody to shingo
Status: newassigned

comment:5 Changed 9 years ago by shingo

Description: modified (diff)

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

comment:6 Changed 9 years ago by shingo

Description: modified (diff)

comment:7 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed

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

comment:8 Changed 9 years ago by kiwa

Description: modified (diff)
Keywords: 確認中 added; 差し戻し removed

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

comment:9 Changed 9 years ago by kiwa

Keywords: 差し戻し added; 確認中 removed
  • 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

comment:10 Changed 9 years ago 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

comment:11 Changed 9 years ago by urabe

追記

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

comment:12 Changed 9 years ago by shingo

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

comment:13 Changed 9 years ago by shingo

Keywords: 確認中 added; 差し戻し removed

comment:14 Changed 9 years ago by urabe

Keywords: テスト待ち added; 確認中 removed

以下の件については、特にサニタイズは不要と認識しましたので、OKとします。

  • プレースホルダを使用したSQL文

テスト待ちにしました。

comment:15 Changed 9 years ago by kiwa

Keywords: テスト待ち removed
Resolution: fixed
Status: assignedclosed

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

comment:16 Changed 9 years ago by kiwa

Keywords: テスト待ち added
Resolution: fixed
Status: closedreopened

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

comment:17 Changed 9 years ago by kiwa

Keywords: テスト待ち removed
Resolution: fixed
Status: reopenedclosed
  • OPENPNE_PUBLIC_HTML_DIR: web/

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

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

Note: See TracTickets for help on using tickets.