python で cgiを作成しているのですが、
if f.getfirst('btn1'):
### 外部スクリプト起動 ###
os.system("python /var/www/cgi-bin/test.py")
のように、このボタンが押されたら外部スクリプト起動のようにしたいのですが、どうすればいいでしょうか?
たとえば、os.system("mkdir test")のようにすれば、上手くいくのですが、python ~やperl ~のようにすると上手くいきません・・・
(もしかするとapacheの設定か何か必要なのでしょうか?)
初心者丸出しの質問かもしれませんが、よろしくお願いします
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あとは、ログインして実行するのと、CGIから実行するのとで、アカウントが違うでしょうから、権限や環境変数等に違いがあります。
これによって動かない可能性はあります。test.pyの実行の様子をログに残すなどして、より詳細に何がどう動かないのか調べてみては?
No.1
- 回答日時:
そこのos.systemで何をするかわかりませんが
・os.systemではなく、subprocessモジュールを使う
・pythonをフルパスで指定する
・組込み関数__import__を使って、モジュールとしてimportする。test.pyはモジュール用に書く
・組込み関数execfileを使って実行する。test.pyはそれを考慮したものに直す
あたりが候補となります
回答ありがとうございます。
返信が遅れてしまいもうしわけありません。
os.system("python /var/www/cgi-bin/test.py")とありますが、
(当然python /var/www/cgi-bin/test.pyと端末上で実行すると動きます。)
test.pyはCiscoIOSデバイスにtelnet接続し、設定を行うスクリプトとなっております。
このスクリプトをボタンが押された時に実行という形にしたいと思っています。
kmeeさんが提案してくれたような方法も試したのですが、駄目でした。
後、いろいろ試したなかでmkdir testと実行するスクリプト(test111.py)を作成し、
os.system("python /var/www/html/test111.py")とすると無事に動きました
また、シェルスクリプトを作成し(cmds.shとする)、/var/www/html/cmds.sh | telnet [IPアドレス]のように
実行すると端末上では起動するのですが、それらをCGIに組み込むとやはり動きません。
完全に手詰まりになってしまいました。
そもそもCGIからは出来ないのかもしれないの・・・かな
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- その他(プログラミング・Web制作) pythonでDepixを起動 5 2022/12/18 08:04
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIって何ですか?簡潔に教えて...
-
ホームページにCGIを設置したの...
-
EXCELファイルに誰がアクセスし...
-
SFTPなどは使わないホームペー...
-
URLに~/cgi-bin/~を隠す方法
-
htmlにアクセスと同時に、あるC...
-
cgiファイルを直接は見れなくす...
-
インクルードファイルのエラー
-
ローカルマシンでCGIソースが出...
-
ApacheでのCGIについての質問
-
《エクセルVBA》「他の人が該当...
-
特定URLから
-
ファイルダウンロード後に、デ...
-
CGIの外部呼出しについて
-
cgi アクセス制限 エラー
-
VBScriptで、ファイルから任意...
-
通貨表示で3桁毎にカンマ(?)を...
-
サイト内のファイルの更新日を...
-
掲示板のスレッドが消えた!?
-
CGIでコードがむきだしの状態で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIって何ですか?簡潔に教えて...
-
Perlプログラム上でアラートを表示
-
Webからアクセスし、画面のボタ...
-
IISでエラー、Apachでは動くの...
-
実行可能な外部コマンドは?
-
IIS5.1でCGI Timeoutになる原因...
-
ホームページにCGIを設置したの...
-
CGIファイルへのブラウザからの...
-
CGI経由で起動したプロセスが停...
-
毎日同時刻に、設定しておいた...
-
前回はごめんなさい。pythonでc...
-
cgi を定期的に自動実行
-
CGIからのプログラム起動
-
cgiで呼び出したプログラムを数...
-
ログアウト処理でWebブラウザを...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
-
URLに~/cgi-bin/~を隠す方法
おすすめ情報