| 記事No | : 16825 |
| 投稿日 | : 2022/04/24(Sun) 06:59:52 |
| タイトル | : Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : tmhk0722 |
| 投稿者 | : tomo |
| URL | : https://www.bodyvine.biz/dayx/check.cgi |
いつもお世話になってます。
Day Counter-EXを設置したいと思っています。
DL後、修正・設定・設置・ディレクトリ等全て終え、checkをすると
下記のみがNGとなります。
* 本日ファイルパス : NG
* 昨日ファイルパス : NG
* 月次ファイルパス : NG
* 日次ファイルパス : NG
* 累計ファイルパス : NG
例えば
# 累計ファイル【サーバパス】
$cf{logfile} = "./data/dayx.dat";
の部分もそうなのですが、上記部分は特に何も追加・修正等していません。
マニュアルにも修正の記載はありません。
また、マニュアルに
$cf{home} = "../index.html";
集計一覧からの戻り先を相対パスで指定します。http://からの絶対パスで記述しても構いません
と記載がありますが、$cf{home} = "../index.html”;部分はinit.cgiに存在しません。
アップグレード等により、今の内容は多少異なるのだと思われますが。
1、上記ファイルパスのNGを解決するにはどうしたら良いでしょうか?
2、$cf{home} = "../index.html”;はinit.cgiのどこかに追加した方が良いでしょうか?
宜しくお願い致します。
| 記事No | : 16826 |
| 投稿日 | : 2022/04/24(Sun) 11:00:15 |
| タイトル | : Re: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : hirayama |
| 投稿者 | : hirayama |
>1、上記ファイルパスのNGを解決するにはどうしたら良いでしょうか?
これも改行コードがらみだと思います。
NGが出ているファイルはすべて拡張子が.datで
FTPソフトはデフォルトでdatファイルをバイナリファイルと判定する場合が多いので、
バイナリファイルと認識されて改行コードがCRLFのままアップロードされている可能性がありそうです。
以下のどれかを試してみてください。
●FTPソフトでアスキーファイルとして処理する拡張子にdatを追加して再アップロードする
●datファイルの内容を改行コードLFに変えた上で再アップロードする
●init.cgiでこれらのdatファイルの拡張子をアスキーファイルと認識されそうなものに変える。
たとえば
$cf{logfile} = "./data/dayx.cgi";
とか
>2、$cf{home} = "../index.html”;はinit.cgiのどこかに追加した方が良いでしょうか?
$cf{home}はどこでも使われていないので、追加する必要はないと思います。
| 記事No | : 16827 |
| 投稿日 | : 2022/04/24(Sun) 15:16:54 |
| タイトル | : Re^2: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : tmhk0722 |
| 投稿者 | : tomo |
| URL | : https://www.bodyvine.biz/dayx/check.cgi |
> >1、上記ファイルパスのNGを解決するにはどうしたら良いでしょうか?
>
> これも改行コードがらみだと思います。
> NGが出ているファイルはすべて拡張子が.datで
> FTPソフトはデフォルトでdatファイルをバイナリファイルと判定する場合が多いので、
> バイナリファイルと認識されて改行コードがCRLFのままアップロードされている可能性がありそうです。
>
> 以下のどれかを試してみてください。
> ●FTPソフトでアスキーファイルとして処理する拡張子にdatを追加して再アップロードする
> ●datファイルの内容を改行コードLFに変えた上で再アップロードする
> ●init.cgiでこれらのdatファイルの拡張子をアスキーファイルと認識されそうなものに変える。
> たとえば
> $cf{logfile} = "./data/dayx.cgi";
> とか
>
> >2、$cf{home} = "../index.html”;はinit.cgiのどこかに追加した方が良いでしょうか?
>
> $cf{home}はどこでも使われていないので、追加する必要はないと思います。
hirayama様
いつもアドバイス、本当に感謝致します。
上記対策3つのうち、
●"改行コードをLFに変えて再アップロード"は一番最初に試してみましたが、結果変わらずでした。
●init.cgiの中のNGが出た"dat"部分5箇所をcgiに変更して再アップロードも試してみましたが、こちらも結果変わらずでした。
1つ目の対策ですが、以前にも似た様なアドバイスを頂いた事がありました。
私はDreamweaverを使っていて、ASCIIモードへの変更設定は、"FTP Passiveモードを使用"という部分のチェック欄を外すとASCIIモード転送に変わるのですが(そうなはず)、それを外すと"FTPエラーが発生しました。サーバーフォルダ情報をGETできません。内部データエラー:RETRコマンドに予期しない応答が返されたか、ゼロバイトが転送されました"と出てしまい、ASCIIモード転送ができません。
そもそもASCIIモード転送ができないなんて、そんな事ってあるんでしょうか?
1つ目の対策は、hirayama様がおっしゃいる事と理解が合ってますか?
それとも、間違った解釈をしていますか?
それと、もう1点不審な点が…
dayxフォルダ内のstyle.css内に文字化けらしき"/* �{�̒�` */"や"�����o��"みたいなところが8カ所程度あります。
これは問題ないでしょうか?
| 記事No | : 16828 |
| 投稿日 | : 2022/04/24(Sun) 16:23:52 |
| タイトル | : Re^3: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : hirayama |
| 投稿者 | : hirayama |
dataディレクトリのパーミッションはどうなってます?
| 記事No | : 16829 |
| 投稿日 | : 2022/04/24(Sun) 17:07:13 |
| タイトル | : Re^4: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : tmhk0722 |
| 投稿者 | : tomo |
| URL | : https://www.bodyvine.biz/dayx/check.cgi |
> dataディレクトリのパーミッションはどうなってます?
おっしゃる通り、dataフォルダ自体のディレクトリを666(606)に設定してしまっていました。
なので、各datファイルのディレクトリを666(606)に変更したらcheck.cgiで全てOKになりました。さすがhirayama先生!
ありがとうございます。
ちなみに…もう少し質問させて下さい。
1、ではdataフォルダ自体のディレクトリは何にすれば良いですか?
今は全チェックにしています。
2、この後、dayx/list.cgiにアクセスして、見本の様な集計リスト一覧を見たいのですが、Software error:Illegal division by zero at list.cgi line 58.
となります。
また何かミスがありますか?
| 記事No | : 16830 |
| 投稿日 | : 2022/04/24(Sun) 17:44:13 |
| タイトル | : Re^5: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : hirayama |
| 投稿者 | : hirayama |
>1、ではdataフォルダ自体のディレクトリは何にすれば良いですか?
解説ページによれば、dataディレクトリのパーミッションは一般的なサーバーで
777 か 707
suEXECサーバ CGIWrapサーバで
701 か 700
と書いてあるので、該当するものに設定すればいいと思います
>2、この後、dayx/list.cgiにアクセスして、見本の様な集計リスト一覧を見たいのですが、Software error:Illegal division by zero at list.cgi line 58.
となります。
mon.datの集計数がまだ0のため、
72行目
my $key2 = 480 / $max2;
でゼロで割り算したとしてエラーになります。
この行の前に
if (!$max2) { $max2 = 1; }
とでも追加しておけばいいと思います。
| 記事No | : 16831 |
| 投稿日 | : 2022/04/24(Sun) 18:21:55 |
| タイトル | : Re^6: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : tmhk0722 |
| 投稿者 | : tomo |
| URL | : https://www.bodyvine.biz/dayx/list.cgi |
> >1、ではdataフォルダ自体のディレクトリは何にすれば良いですか?
>
> 解説ページによれば、dataディレクトリのパーミッションは一般的なサーバーで
> 777 か 707
> suEXECサーバ CGIWrapサーバで
> 701 か 700
> と書いてあるので、該当するものに設定すればいいと思います
>
> >2、この後、dayx/list.cgiにアクセスして、見本の様な集計リスト一覧を見たいのですが、Software error:Illegal division by zero at list.cgi line 58.
> となります。
>
> mon.datの集計数がまだ0のため、
> 72行目
> my $key2 = 480 / $max2;
>
> でゼロで割り算したとしてエラーになります。
> この行の前に
> if (!$max2) { $max2 = 1; }
> とでも追加しておけばいいと思います。
hirayama様、
1、dataフォルダ自体のディレクトリを777に変更完了しました。
2、72行目(my $key2 = 480 / $max2;)の前にif (!$max2) { $max2 = 1; }を追加して再アップロードしましたが、結果は同じくSoftware error:Illegal division by zero at list.cgi line 58.
です。
# グラフ長の係数(最高値を240px)
if (!$max2) { $max2 = 1; }
my $key2 = 480 / $max2;
上記のようにしました。
これは、list.cgiへの追加という理解で合ってますよね?
| 記事No | : 16832 |
| 投稿日 | : 2022/04/24(Sun) 21:50:15 |
| タイトル | : Re^7: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : hirayama |
| 投稿者 | : hirayama |
今は正常に表示されているようですが、
58行目もエラーが出ているなら
58行目の前にも追加して
if (!$max) { $max = 1; }
my $key = 240 / $max;
としてください。
分母が0だとエラーになるので、とりあえず1を入れておくという処理です。
| 記事No | : 16833 |
| 投稿日 | : 2022/04/24(Sun) 22:08:21 |
| タイトル | : Re^8: Day Counter-EXで、ファイルパスのみNGになる件 |
| ID情報 | : tmhk0722 |
| 投稿者 | : tomo |
| URL | : https://www.bodyvine.biz/dayx/list.cgi |
> 今は正常に表示されているようですが、
> 58行目もエラーが出ているなら
> 58行目の前にも追加して
>
> if (!$max) { $max = 1; }
> my $key = 240 / $max;
>
> としてください。
> 分母が0だとエラーになるので、とりあえず1を入れておくという処理です。
hirayama様
58行目の前に上記パスを追加した事によりlist.cgiが見れる様になりました。
本当に助かりました。ありがとうございます。
本当に感謝です。