* XAMPPの特定バージョンで「テキスト整形のルール」 [[FormattingRules]] を表示できない [#x405380a]

- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2014-12-26 (金) 05:38:35
- バージョン: 1.5.0
- リリース予定バージョン: 1.5.1

** メッセージ [#q5931bb2]
[[official:質問箱5/163]] より

Windows 環境の XAMPP で再現を確認。


- XAMPP v1.7.7 (Apache 2.2.21, PHP 5.3.8) →発生する
- XAMPP v1.8.2 (Apache 2.4.4, PHP 5.4.27) →発生しない
- XAMPP v1.8.3 (Apache 2.4.9, PHP 5.5.11) →発生しない

*** 回避策 [#f1ac223d]

- XAMPP のバージョンアップ
- 本文を編集し、注釈部分を削除する

--------
- 正規表現モジュールとの相性バグか何かで、これと似たようなことが起きてるのかな?[[BugTrack2/237]] 注釈の文字が長いとApacheが停止する --  &new{2015-02-17 (火) 22:24:28};
- 何らかの理由でサーバーの子プロセスが再起動させられてる?かんじなので、過剰にチェックをしないよう、&br();注釈の中味チェックをOR分岐以外ではバックトラック禁止&注釈開始と同じ文字列がある時だけ~と言明を足して繰り返し突入を制限する
  ((?>(?=\(\()(?R)|(?!\)\)).)*) # (1) note body
にlib/make_link.phpの注釈用パターンを差し替えると、FormattingRulesを書き換えなくても回避できてるっぽいです。他の環境(特に、使える正規表現が限定的な古いPHPとか)でも問題なく動くのか~のチェックがまだ不十分ですが、取り急ぎ報告を。 --  &new{2015-03-19 (木) 21:27:57};
-- ちなみに。言明だけだと、編集時に枠の下へルールを同時表示する「テキスト整形のルールを表示する」パターンでは回避できなかったり。バックトラック禁止だけだと、[[BugTrack/765]]を回避できなさそうだったり。 --  &new{2015-03-19 (木) 21:27:57};
-- 1.5.0オリジナルは
 ((?:(?R)|(?!\)\)).)*) # (1) note body
となっていますね。"(?R)" は再帰で、言明(assertion)とは正規表現の用語なのですね。難しい・・・ 注釈に再帰が必要なのか?とも思いますが過去の議論を見るとネストする前提で実装されているようです -- [[umorigu]] &new{2015-03-24 (火) 01:50:44};
- 問題の発生していたXAMPP v1.7.7 の環境で正常動作することを確認しました。また、PHP4.1.2でも動作したので、ご提案の案を採用します。ありがとうございました -- [[umorigu]] &new{2015-03-25 (水) 02:42:08};

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.014 sec.

SourceForge