テストサーバと本運用での移行時の思わぬ動作不良の問題について
今回は備忘録として書いておきます。
あるサーバで動く解析系のコードを書いたのですが、
「テストサーバでは問題なく動くのに、何故か本運用サーバに持っていくと動かない」
という状況が発生し、調べてみるとsedの部分がおかしな動作になっている事が判明しました。
これはサーバ間でのsedオプションの「方言」の違いなのか、と思って色々と修正をしていたのですが、どうもおかしい。
ログやコメントアウトを利用して、どこまでが正しい動作となっているのかを検証しつつ作業していたのですが、色々と試行錯誤した結果、これはエディタの違いではないか、と思うようになりました。
テストーサーバで開発を行い、本運用サーバに移行する際に、ある部分をコメントアウトしていたのですが、そのコメントアウトを本運用サーバ内のエディタで、削除すると、文字コード等に悪影響が出てsedの動作がおかしくなっている状況でした。
これはデバッグをしやすくするために、と思ってコメントアウトしていたのですが、まさかコメントアウトを外すと、このような動作不良が起きるとは、、、、、です。
この問題が発見されまで約1時間程度。なかなか勉強になりました。
テストサーバで開発し、本運用サーバで運用する場合は、移行時に特に実害がない限りは本運用そのもののコードを移行したほうがいいのかも知れません。
そして、必要に応じコメントアウトなどは本運用のサーバで行う方が、問題の切り分けとして良いのかも、です。
本来は本運用サーバーでの開発が一番手間がかからないのですが、それをするとセキュリティ面や運用面での問題があるので…。
弊社ではホームページだけではなく、様々なWEBシステムも制作しています。
気になられた方はご一報いただければ幸いです。