動かないときは



●はじめに

もし動かないときには、次のポイントを確認してみてください。

●アスキーモードでFTPすること

一般的な話しですが、CGIスクリプトをFTPするときには、アスキーモードでやらないとダメですよん。

●パーミッションを実行可能に変更しよう

.CGIスクリプトファイルは「chmod」コマンドで「705」にしないと動きません。同様に、データとして読みだすファイル(count.dayなど)は「606」にしないと動きません。具体的にはUnixのプロンプトで「chmod 705 count.cgi」などとして変更しましょう。

●まずはtelnetで実行してみる

CGIスクリプトをFTPしたら、UNIXにTelnetして、同じディレクトリで「./count.cgi」などとして実行してみます。これで、画面にHTMLのテキストが表示されれば、正常に動作しています。

●.htaccessがないと動かないかも

同じディクトリか、親ディレクトリに.htaccessというファイルがないとCGIが動かないかもしれません。.htaccessに記述する内容については、サーバー管理者に尋ねてみてください。

●初期値が入ってないと動かないかも

カウンタなどは、初期値を入れておかないとダメかもしれません。「count.log」などには「0」でも入れておいてください。

●CGIスクリプトまでのパスを指定してみる

HTML文書に、CGIの実行のための。次のような行を入れるとき、

<!--#exec cmd="count_g1.cgi"-->

となっているところを

<!--#exec cmd="./count_g1.cgi"-->

のようにしてみると動くことがあります。また、これはスクリプト内部でファイルを参照している部分にも影響するので、もしそういう行があったらやはり「./」をファイル名の頭につけてください。

●UNIXコマンドを持ってきちゃう

ここにあるCGIスクリプトの中には、CATなどのUNIXコマンドを使っていることがありますが、これが動作しないことがあります。「Whereis cat」として、catコマンドをフルパス(例:/bin/cat)で指定するか、あるいは「cp /bin/cat .」として自分のディレクトリにコマンドの実行ファイルをコピーしちゃえば動くかもしれません。

●Netcape Communicaterでダウンロードするとき

なんか不明ですが、Netcape Communicaterで「ここをクリックするとファイルが拾えます」ボタンを押すと、保存用のダイアログが出てくるのですが、なぜか拡張子がEXEになることがあるみたいです。いずれもLZHファイルなので、拡張子を修正してから保存してください。


Return IndexPage