お世話になっております。
お分かりになる方いらっしゃいましたら、ご教授願えますでしょうか?
以前別の質問を致しましたが、
解決出来なかったので、再度質問させていただきます。
http://oshiete1.goo.ne.jp/qa5129802.html
カウンターを設置するため、テストページを作り、
テストページ(htmlファイル)からカウンターcgiを呼び出したいのですが、
Internal Server Errorが出てしまいます。
パーミッションの設定、アップロードの仕方について、
こちらの質問で親切に色々教えていただきましたが、
やはりカウンターが表示されません。
同じソースで表示されている方がいらっしゃるので、
ソースの修正は必要ないと思います。
また、こちらの質問でも記載しましたが、
同じサーバにメールを送るCGIを設置していますが、
こちらは動作しています。
他の原因を色々探っているのですが・・・。
他に原因があるのでしょうか?
お手数ですが、宜しくお願いいたします。
No.1
- 回答日時:
このWebサーバのエラーログって見ることが可能ですか?
エラーログを見れば、なぜ500エラーが発生しているかがわかる可能性が高いです。
もし見れないようでしたら、おまじないを一つ
1行目の「#!/usr/local/bin/perl」の下に
「use CGI::Carp qw(fatalsToBrowser);」
を入れてcnt.cgiを直接開いてみてください。
これは致命的なエラーをブラウザに表示させる命令です。
(ただサーバが対応してないこともあるので、うまくいかなかったらごめんなさい。)
エラー内容が分かりましたら、それをココに貼り付けてみてください。
ご回答ありがとうございます。
残念ながら、エラーログは見れないので、
早速教えていただきました、
「use CGI::Carp qw(fatalsToBrowser);」を入れて
直接開いてみました。
---------------------------------------------------
↓以下ブラウザに出てきた内容です。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, www-admin and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
---------------------------------------------------
と、こんな感じで出てきました。
表示内容がいつもと同じ気がするのですが、
もしかして表示されていないのでしょうか?
お願いいたします。
No.2
- 回答日時:
その表示だと、エラー箇所が拾えてないですね。
前回の質問ページからカウンター配布ページのアドレスがあったので確認してみました。
良くある質問の中で、
>■ファイルロック方法を正しく設定したか?
>flock関数が使えないサーバで、flock関数を実行するとエラーになります。
とありますが、ご利用のサーバは大丈夫でしたでしょうか?
参考URL:http://apps.cside.com/support/faq/docs/1_04.html
お世話になっております。
>■ファイルロック方法を正しく設定したか?
>flock関数が使えないサーバで、flock関数を実行するとエラーになります。
とのことですが、実は利用可能かが分からないので、
ロックしないに設定したのですが・・・。
標準でロックするになっていたので、
ファイルロックに関するソースの部分を
以下のソースにしました。
# ■ファイルロック(flock関数)
# '0' / ロックしない
# '1' / ロックする#標準
$define->{'FILELOCK'} = '0';
flock関数が使えないサーバだと、
0にしてもエラーが起こるのでしょうか?
No.3
- 回答日時:
いまさらながらプログラムソース確認しました。
# プログラム名 【 JSカウンタ 】
# バージョン 【 1.5 】
このバージョンであってますでしょうか?
$define->{'FILELOCK'} = '0';
に設定した場合、ブラウザに何も表示させず終了するプログラムになっていました。
CGIをブラウザから動かした場合、最後に必ずなにかを表示させないとエラーが表示されます。
おそらくこれが原因で、500エラーが発生しているかと思います。
プログラムにflockを使わない場合の回避が書かれていない為、自分で回避プログラムを書かないといけないみたいです。
参考:http://apps.cside.com/support/guide/flock/
プログラム配布サイトにflock検査ツールというものがありましたので、お使いのサーバでflockが使えるかをチェックしてみてはいかがでしょう?
参考URL:http://apps.cside.com/cgi/util/flockch/
># プログラム名 【 JSカウンタ 】
># バージョン 【 1.5 】
>このバージョンであってますでしょうか?
まさにこちらのプログラムです。
>プログラム配布サイトにflock検査ツールというものがありましたので、お使いのサーバでflockが使えるかをチェックしてみてはいかがでしょう?
早速診断ツールを入れてみたのですが、
同じように500Internal Server Errorが出てしまいました…。
>プログラムにflockを使わない場合の回避が書かれていない為、自分で回避プログラムを書かないといけないみたいです。
flockを使っている部分をコメントアウトしても解決されないのでしょうか?
また、追加する場合はどのように記述すればよいのでしょうか?
お手数ですが、宜しくお願いいたします。
No.4ベストアンサー
- 回答日時:
>flockを使っている部分をコメントアウトしても解決されないのでしょうか?
たしかに動きますが、すぐに正しくカウントされなくなります。
flockは排他処理といって、一つのファイルを同時に更新させないための処理です。
この排他処理がないと、正しくカウントが取れなかったり、0に戻ったりしてしまいます。
(CGIではないですが排他処理の参考として)
参考:http://www.techscore.com/tech/sql/11_02.html#sql …
>また、追加する場合はどのように記述すればよいのでしょうか?
flock以外でもmkdirを使った排他処理方法があります。
参考:http://beginners.atompro.net/smpcgi_flock.shtml
すでにあるプログラムに手を加える場合、トラブルが発生しやすくなるため、それに対応する知識が必要となります。
僕が手を加えて提示するのは動作保障と今後のサポートが出来ませんのでやめておきます。
大変申し訳ないのですが、少し勉強されて追加されるか、別のカウンターに変えてみてはいかがでしょうか。
ご回答ありがとうございます。
返信が大変遅くなりまして申し訳ございません。
原因が判明しました。
どうやら、レンタルしているサーバーが移設していたようで、
その関連で、うまく呼び出されない現象が起きていたようです。
移設完了後は無事カウンターが表示されました。
ご協力ありがとうございました。
No.5
- 回答日時:
横から申し訳ありません。
良くあることなのですが、もしかしてCGIファイルをバイナリモードでアップしてはいないでしょうか?
FTPソフト側で強制的にASCIIモードでアップしてみてはいかがでしょうか。
ご回答ありがとうございます。
返信が大変遅くなりまして申し訳ございません。
原因が判明しました。
どうやら、レンタルしているサーバーが移設していたようで、
その関連で、うまく呼び出されない現象が起きていたようです。
移設完了後は無事カウンターが表示されました。
ご協力ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- HTML・CSS HTML 訪問カウンターを自作したい 4 2023/02/20 08:37
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Gmail Gmailのメールの自動振り分け設定でむちゃくちゃになる 1 2022/04/19 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
設置場所場わかりません。
-
EXCELファイルに誰がアクセスし...
-
リダイレクト機能
-
URLに~/cgi-bin/~を隠す方法
-
ラジオボタンのグループ化
-
直リンク用バナーの作り方
-
midi・・・要はhpでbgm鳴...
-
《エクセルVBA》「他の人が該当...
-
LAN内に接続されているPCをリ...
-
ASPから既存のexcelブックを開...
-
SFTPなどは使わないホームペー...
-
CGIが読み書きするデータファイ...
-
ASP(IIS?)のエラーについて
-
CGIでの500エラー
-
CGIの設置が分かりません・・・
-
VBAを使用して、外部サーバのフ...
-
つぼ八 上新庄店の場所。
-
perlからJavascriptを起動
-
メールフォームのCGIでデータが...
-
cgiファイルを直接は見れなくす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheでのCGIについての質問
-
cgiにアクセスしても画面が真っ白
-
CGIエラー
-
apacheで動作してIISで動作しな...
-
IIS Perl ADO ORACLE の組合せ...
-
CGIでのPC内でのテストで画面が...
-
HTTP 501未実装 エラーについて
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
-
URLに~/cgi-bin/~を隠す方法
-
ラジオボタンのグループ化
-
ASPから既存のexcelブックを開...
-
CGIでソースがそのままでてしま...
-
perl 矢印演算子 -> の使い方
-
ユーザの所属するグループを取...
-
FTPにて553エラー
-
ASP(IIS?)のエラーについて
-
JAVAで別サーバーのファイルの...
おすすめ情報