Bug(バグ) #1980
完了アルバムから画像をアップロードしても表示されない
0%
説明
説明¶
現象¶
/album/[アルバムID]/photo/add からアルバムに画像を追加したり、/album/photo/edit/[画像ID] から再度画像をアップロードしても、/album/[アルバムID] の「写真の一覧」に画像のサムネイルが表示されない。又、/album/photo/[画像ID] にアクセスしても、同様に表示されない。
これらの画像ファイルは /cache/img/[画像フォーマット]/[画像サイズ] に置かれているが、これらのファイルに直接アクセスしても表示されない。尚、画像に直接アクセスした際には HTTP ヘッダの Content-Length の値が 0 になっていた。
原因¶
未判明
修正内容¶
未修正
ファイル
Masato Nagasawa さんが13年以上前に更新
- プロジェクト を OpenPNE 3 から opAlbumPlugin に変更
- 対象バージョン を削除 (
OpenPNE 3.6.0) - [QA]バグ通知済 を いいえ にセット
Shingo Yamada さんが13年以上前に更新
報告者に不具合が発生する環境情報をいただきました。
情報¶
- verfion: 3.6.x
- URL: http://s2.jrillet.dazai.pne.jp
Minoru Takai さんが13年以上前に更新
- ステータス を Accepted(着手) から Invalid(無効) に変更
- 優先度 を High(高め) から Low(低め) に変更
- 3.6 で発生するか を削除 (
Yes)
検証しました。
まず、問題を指摘された環境で検証を行いましたが、「画像をアップロードしても表示されない」という問題はアルバムプラグインにより提供される機能に限ったものではありません。当該環境では、プロフィール画像など全てのアップロード画像の表示に失敗します。
当該環境のサーバからディレクトリ構成を確認しましたが、 OpenPNE_DIR/web が削除されていました。当該環境 http://s2.jrillet.dazai.pne.jp では、インストール後に意図的に web ディレクトリを削除(リネーム)している可能性があります(※)。これは OpenPNE が想定している操作ではありません。このため画像のアップロード後に表示をするタイミングで web/cache に画像ファイルが作成できなくなっています。
※ サーバの DocumentRoot が public_html であり、直接 web ディレクトリを参照させようとして web ディレクトリ名を public_html に変更したように見えます。このような場合はディレクトリ名を変更するのではなく、シンボリックリンクを作成して public_html が web を参照できるようにすることが考えられます。
以上より、このチケットの報告は Invalid として閉じるべきだと判断します。
補足¶
(webディレクトリを削除するなどして) web/cache にアップロードした画像が保存されない場合でも、コンテンツ上では画像へのURLは生成されています。ブラウザからその画像URLに直接アクセスすると、アクセス時点で画像のキャッシュファイルを作成しようとするが失敗して sfImageGenerator (*1) クラスの output() メソッドから例外が投げられます。しかし、このときに投げられる例外の記述は現時点の master ブランチに於いても誤記があるようです。この問題は別チケットにて対応します。(refs. #2228)
- (*1) plugins/sfImageHandlerPlugin/lib/image/generator/sfImageGenerator.class.php