Bug(バグ) #2516
完了pc_backend_dev.php や mobile_frontend_dev.php で見るとi18nのキャッシュについてのwarningが出る
100%
説明
概要¶
pc_backendをdevで見るとi18nのキャッシュについて添付ファイルにキャプチャしたようなエラーが出ます。
参考:管理画面でWarning: mkdir()などのエラーがでます
http://sns.openpne.jp/communityTopic/7618
修正方針¶
pc_backendのfactories.ymlにて
i18n: class: opI18N param: source: OpenPNE debug: false untranslated_prefix: "[T]" untranslated_suffix: "[/T]" cache: class: sfFileCache param: automatic_cleaning_factor: 0 cache_dir: %SF_I18N_CACHE_DIR% lifetime: 86400 prefix: %SF_APP_DIR%
となっているものをpc_frontendのfactories.ymlと同じように
i18n: class: opI18N param: source: OpenPNE debug: false untranslated_prefix: "[T]" untranslated_suffix: "[/T]" cache: ~
と直せば発生しなくなります。
追記¶
note-8 以降で指摘された mobile_frontend についても対応することにします。
ファイル
Minoru Takai さんが約13年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Minoru Takai にセット
- 対象バージョン を OpenPNE 3.7.0 にセット
- 360対象 を削除 (
3.6.0)
チケットでの報告ありがとうございます。(チケットの設定値について、 OpenPNE-3.6.0 リリースのための臨時的な項目が残ったままになっているので近々整備します)
master ブランチで本件の問題を確認できたので、 Target version を 3.7.0 に設定します。本件について状況を確認し、修正が可能かを調査します。
hiromi hishida さんが約13年前に更新
根本原因の解明まで行きついてなくて申し訳ないのですが、githubのほうにpull requestもさせていただいています。
https://github.com/openpne/OpenPNE3/pull/26
よろしくお願いします。
Minoru Takai さんが約13年前に更新
修正方針についてレビューしました(これは OpenPNE リポジトリへのコミットに対するレビューではありません)。
- apps/pc_backend/config/factories.yml
- 修正前
i18n: class: opI18N param: source: OpenPNE debug: false untranslated_prefix: "[T]" untranslated_suffix: "[/T]" cache: class: sfFileCache param: automatic_cleaning_factor: 0 cache_dir: %SF_I18N_CACHE_DIR% lifetime: 86400 prefix: %SF_APP_DIR%
- 修正後
i18n: class: opI18N param: source: OpenPNE debug: false untranslated_prefix: "[T]" untranslated_suffix: "[/T]" cache: ~
- 修正前
修正前の記述が追加されたのは #416 およびそれ以前のコミットのようです。その経緯を見ると修正前の記述があること自体が問題ではなく、その後にこの問題が解消されていないことが問題だと読み取れます。
pc_frontend 側では(チケットに示されている通り)すでに修正後のような記述になっています。これを追ったところ #995 で修正されていました。
この問題は #995 での(pc_backend 側の)修正漏れか、あるいは同類の問題と見做せるようです。修正内容についてはチケット(およびこのコメントの上部)で示されているものは妥当そうです。
pull request があるようなので、そちらからの取り込みで対応したいと思います。
Minoru Takai さんが約13年前に更新
コミット取り込み操作の都合上、今回は Pull Request を扱わずに対応することとしました(詳細は pull/26 を参照)。
Minoru Takai さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 2432d7d3e226d5fb49e69df57fc09582cbed0c55 で適用されました。
Minoru Takai さんが約13年前に更新
note-6 で master ブランチへ修正を取り込んでいます。
- 修正前
- (ログイン前)管理画面のログイン画面を dev モードで表示すると下記の警告が表示される
- (ログイン後)任意の管理画面のページを dev モードで表示すると下記の警告が表示される
- 警告の内容
Warning: mkdir() [function.mkdir]: File exists in /path/to/OpenPNE/lib/vendor/symfony/lib/cache/sfFileCache.class.php on line 282 Warning: copy(/path/to/OpenPNE/cache/apache/pc_backend/dev/i18n/messages.ja.xml.php/ja_JP.cache) [function.copy]: failed to open stream: Not a directory in /path/to/OpenPNE/lib/vendor/symfony/lib/cache/sfFileCache.class.php on line 302 Warning: chmod() [function.chmod]: Not a directory in /path/to/OpenPNE/lib/vendor/symfony/lib/cache/sfFileCache.class.php on line 308
- 修正後
- 修正前に表示されていた警告が一切表示されなくなる
Shogo Kawahara さんが約13年前に更新
mobile_frontend でも同様の問題が起きております。
対処法としては同様ですが、別チケットを作ったほうがよいでしょうか。
Shogo Kawahara さんが約13年前に更新
Shogo Kawahara さんが約13年前に更新
こちらの対応とは別で、 factory で i18n.param.cache を指定したときは
#995 の高速化には対応しないくらいの修正が必要かもしれません。
Minoru Takai さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Fixing(修正待ち) に変更
note-8 の指摘について確認しました。
mobile_frontend でも起きることについては note-7 時点で認識していませんでした。
本チケットは「 "pc_backend" での問題を修正する」というよりは、「キャッシュに関する設定が不適切なために警告が出ている」という問題を扱っていると思いますし、チケットを分ける必要性が感じられないので、このチケットで併せて修正してしまって良いと思います(対応時にはチケットも書き換える)。
Minoru Takai さんが約13年前に更新
- 題名 を pc_backend_dev.phpで見るとi18nのキャッシュについてのwarningが出る から pc_backend_dev.php や mobile_frontend で見るとi18nのキャッシュについてのwarningが出る に変更
- 説明 を更新 (差分)
チケットを書き換えました。また 28895fb4badb6f9d02720617e6885f86444551d6 で対応しました。(Redmineが同期してコミットが取得できた時点でステータスが連動してレビュー待ちになることを想定し、ステータスを変更していない、がすぐに同期できていなかった)
Minoru Takai さんが約13年前に更新
- ステータス を Pending Fixing(修正待ち) から Pending Review(レビュー待ち) に変更
更新履歴 28895fb4badb6f9d02720617e6885f86444551d6 で適用されました。
Minoru Takai さんが約13年前に更新
- 題名 を pc_backend_dev.php や mobile_frontend で見るとi18nのキャッシュについてのwarningが出る から pc_backend_dev.php や mobile_frontend_dev.php で見るとi18nのキャッシュについてのwarningが出る に変更
Minoru Takai さんがほぼ13年前に更新
- 優先度 を Normal(通常) から High(高め) に変更
- 3.6 で発生するか を Unknown (未調査) にセット
- 3.4 で発生するか を Unknown (未調査) にセット
不要なエラーログ( Warning 等)が出力されると開発時にデバッグ作業がしにくいため、このような問題は早いうちに対応すべきかと思います。
開発者だけではなく、SNS管理者相当の人が dev モードで表示した場合にも、不要なエラーログが出力されていることで混乱する可能性があります。
このような理由で優先度を High に設定します。
Yuya Watanabe さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuma Sakata さんが12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。