始めまして
私は、cahma netさんのcahma cargo「http://chama.ne.jp/download/cargo/index.htm」を使用させてもらっているのですが
httpに配置した「商品データーのcsvファイル」をhttpsに配置したcgiから読み込みたいのですがどうもうまくいきません。パーミッションの問題なのでしょうか?私の借りてるサーバーでは707・777等は、エラーを返されます。それともパーミッション以外に原因などはあるのでしょうか?どなたかお詳しい方教えて下さい!お願いします。
No.4ベストアンサー
- 回答日時:
絶対パスで一番身近なのはPerlのパスだと思います。
CGIの先頭行に
#!/usr/local/bin/perl
とか、書きますよね。この場合、
/usr/local/bin/perl
がPerlへの絶対パスです。
「#!」は宣言みたいなもので、スクリプト内の先行頭で使うだけのものなので混同しないように気を付けてください。
絶対パスというのは / から必ず始まります。
ほとんどのホスティングというのはFTPでログインしたディレクトリより上位階層があるのは先に述べたとおりです。
業者さんに問い合わせるのが早いと思いますが、以下のようなCGIでも調べる事が可能です。
#!/usr/local/bin/perl
print "Content-Type: text/html\n\n";
print $ENV{'SCRIPT_FILENAME'};
適当な名前で保存して(path.cgiとか)実行してみてください。
このCGIの絶対パスが表示されると思います。
下で相対パスの事を書きましたが、
CGIでのファイルの参照は相対でも絶対でもどちらでも構いません。
ありがとうございました!!
出来ました!!何処へ聞いても出来なかったのにikspiariさん私のわかりにくい質問で、すごいです!ホント感謝です!ikspiariさんの言うとおり絶対パスの勘違いでした!有難う御座いました!
No.3
- 回答日時:
>
https://www.mydomain.com/cargo/cargo.cgiこれはパスではなくてURLです。
通常CGIでローカルのデータを参照する時には「パス」で指定します。
例えば、httpdocsに置いたCGIから見たカレントディレクトリは ./ です。(httpdoscを指します。)
一つ上の階層は ../ です。
ですので、httpdocsとhttpsdocsが並んでいると仮定して、
httpsdocs内のCGIからhttpdocs内のgoods.csvを参照するには、
../httpdocs/goods.csv
となります。
ちなみにこれは相対パスです。
No.2
- 回答日時:
恐ろしい数のCGIで動いてますね(笑)
ちょっと気になるのは各CGIの依存関係ですね。
多分、全て同じディレクトリ内に設置する事が前提で設計されてるのではないでしょうか?
error_logって見れないのでしょうか?
ログを見ればエラーになってるヒントは掴めると思いますが。
絶対パスって、ちゃんと調べましたか?
通常のホスティングサーバはホームディレクトリにchrootされるので、そこが / だと思ったら違います。
まだ上の階層がありますので。
これも少し気になるところです。
それと補足的なことですが、
個人情報をFTPなどでダウンロードしたらSSL使う意味ないですので注意してください。
FTPは平分でネット上にデータが流れます。
この回答への補足
はい、恐ろしい数です!
>絶対パスって、ちゃんと調べましたか?
通常のホスティングサーバはホームディレクトリにchrootされるので、そこが / だと思ったら違います。
まだ上の階層がありますので。
これも少し気になるところです。
そうなのですか!私は普通に
https://www.mydomain.com/cargo/cargo.cgi
のように書いていたのは絶対パスではないのですか!?
もう一度ikspiariさんにご指摘いただいた事をヒントに見直してみます。かなり勉強になりました!他にお気づきの点が御座いましたらお願い致します。ありがとうございました!
No.1
- 回答日時:
すみません、ちょっと意味が分からないのですが、
CSVファイルとCGIが置いてあるサーバは物理的に別なのでしょうか?
この回答への補足
さっそくご返答有難う御座いました。
文章が苦手で分かりにくい質問でした、すいませんでした。
CSVファイルとCGIが置いてあるサーバーは物理的には一緒なのです、FTPで見てみるとhttpdocsとhttpsdocsが存在していてカゴCGIは「goods.csv」というCSVファイルの情報を読み込んで商品情報を表示すると言う仕組みになってます。そのカゴCGIは全部で82個のCGIで構成されていてその中の商品を表示する為の3つのCGIファイルとgoods.csvをhttpdocsに配置して残りの79個のCGIはhttpsdocsに配置しています。しかし残りの79個のCGIには、goods.csvの情報を必要とするものがいくつか存在しています、しかしその79個のCGIは個人情報を送信する為のものであったりするのでSSLを使用しておきたいのです、そうすると、goods.csvはhttpdocsとhttpsdocsの両方で必要になってしまいます。しかしhttpdsocsに配置しているCGIにgoods.csvまでの絶対パスを書込み試してみたのですがエラーを返されます。どうにかしてこの峠を越えられないものでしょうか?
さらに分かりにくくなった気が・・・・ごめんないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
ラズパイでのCGIで、pythonソー...
-
関数Ln(x)の使い方
-
ホームページでCGIのフォームを...
-
エクセルで集計したい。
-
utf-8で作成した。formmailのht...
-
CUIとGUIについて
-
フォームメールを受信すると文...
-
postmail(UTF-8)でメールが文字...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
(フリーの)ツリー掲示版CGI、...
-
ホームページでCGIのフォームを...
-
/bin/awk '{print $5}'ってどう...
-
CGIって何ですか?簡潔に教えて...
-
cgiからsendmailを送信で文字化け
-
入力フォーム(電話番号)
-
CGI.pmはもう古い!?
-
フォームメールを受信すると文...
-
古ーくからフリーのtree.cgi掲...
-
チェックボックスでのvalue値の...
-
誕生日占いをプログラムで作成...
-
cgiファイルで構成された検索結...
-
VBAで条件から範囲を指定して色...
-
Perl 別ドメインのファイル存在...
-
.htaccessについて
-
number 改行が追加できない
-
JQUERYでウェブのフォームから...
おすすめ情報