を引き起こし[if condition1] aa [if condition2] bb [endif] [endif]
。私は改行をドットで扱いました(複数行で作業したいので)、xを読むのが簡単でしたが(xを削除しても問題は解決しません)比較的単純なPreg_match_allは、私は、パターンをpreg_match_all機能を持っている502不正なゲートウェイ
入力データの大部分は正常に動作しますが、特定の入力では、ログにエラーや例外がなく、nginxサーバーで502ゲートウェイのエラーが発生します。私はnginx + php-fpm(5.6.15-1 + deb.sury.org〜trusty + 1)を使用していますが、php7でも同じことが起こります。
ここでは502ゲートウェイエラーが発生しています。PHPコードを簡単に確認できます。非常に簡単で、変数と正規表現です。
してください、あなたはコンテンツ1コピーしたことを確認してください:すべてのスペースで、1を、タブなど
非常にスタンジェの事はあなたがほぼすべての単一の行を削除したり、1を削除することができるということですインデント(任意の場所にスペースを入れてください)を使って作業してください。
ここに何が間違っているのか分かりませんが、この1つのファイルを作成して問題を示すことができましたが、修正方法はありません。
私はeval.inで再現できません:https://eval.in/577522 – jeroen
@jeroen right、驚くべきことに、phpを使ってうまく動作し、 'php test.php'を使って動作していて、期待通りに動作しています。この問題は、ファイルがphp-fpm(nginx/1.8.0)でnginx経由で開かれたときにのみ発生します。 – atay
['\((if))* +)\]((?>(?! \ {(?R)} *)\ [endif \] '](https://regex101.com/r/xA3iC8/1)または[' \ [(もし、\ b)[^ [] *)*)()ならば、\ s +([^ \]] |(?R))*)\ [endif \] '](https://regex101.com/r/xA3iC8/2)。 –