OCNサーバなどでCSVのログが蓄積されない、削除できないトラブルの解決方法

ひらたさん (2012-02-15 22:44:39) http://www.natural-mori.co.jp/recruit/form/form.html

先日からずっと続いていました、OCNサーバでのCSVデータの削除ができなかった件について、先日和田様のサポートを受けて無事解決いたしましたので、許可を得て経緯を書き込んでおきます。

なお、以下はさくらサーバーのようなCGI等がどこでも動くタイプでは関係ないかもです。あくまでOCNサーバ(CGIなどを「cgi-bin」フォルダに入れないと動かないタイプ)についてです。(他の「cgi-bin」フォルダ型サーバにも当てはまるかどうかは不明)


クライアントが借りているOCNサーバにメールフォームを設置する仕事を受け、CSVのダウンロードと削除が管理画面からできるように、という要望だったのですが、いろいろありましてCSVの削除だけができませんでした。

具体的には管理画面からのダウンロードは可能、削除も管理画面の入力窓にパスワードを打ち込んで「DELETE LOG FILE」を押すと「logfile delete success」というメッセージは表示されますが、実際には削除されておらず、変化ナシ(postlog.csv.cgiの中身のログが残ったまま)。

一度和田様から
「function.cgi内の454行目付近のunlink $config{"log_file"};の手前の行に
chmod 0777, $config{"log_file"};
と書いてみてください。
ダブルクォートはエスケープされてると思うので、半角に打ちなおして下さい。」
というメッセージをいただいて実行してみましたが、同じく変化ナシ。


その後、和田様からいただいた解決方法です。
「mailformpro」フォルダ内にたとえば「logs」というフォルダを作り、パーミッションを777に設定。
config.cgiのログファイル(CSV)のパスを以下のように書き換える
logs/postlog.dat.cgi
「logs」フォルダの中は空(何も入っていない状態)でいいようです。
後は自分が設定した管理画面から、CSVファイルのダウンロードと削除ができるかどうか確認してください。

ちなみに成功しているかどうかの確認は
メールフォームを1回以上送信し、ダウンロードの管理画面からパスワードを入力して「GET LOG FILE」をクリックしてダウンロード。
その後削除の管理画面から同じくパスワードを入力して「DELETE LOG FILE」をクリックすると「logfile delete success」というメッセージが表示。
その後再びダウンロードの管理画面からパスワードを入力して「GET LOG FILE」をクリックすると「ERROR CODE0」のメッセージが表示されて何もダウンロードされない。←ここまでできると成功

和田様どうもありがとうございました。
上記の「logs」フォルダの中が空っぽでもメールフォームの動作、CSVファイルのダウンロードと削除が可能、という点だけが自分的には非常に不思議です。お暇なときにでも補足していただくと助かります。

それでは!