0

私の課題では、cgi スクリプト (C プログラム) と、system() を使用してスクリプトから呼び出したいプログラムがあります。cgi-bin/ と 755 への chmod の両方。自分の cgi プログラムで作成したシステム コールが有効であることはわかっています (パスは正しく、コマンドも正しい...) が、呼び出しは常に失敗します。cgi-script の実行中に作業ディレクトリを確認しましたが、正しいです。同じ呼び出しを bash で実行すると機能しますが、メニュー プログラムでは機能しません。

私のコンピューターでサーバーを実行したときにシステムコールが機能していたので奇妙です(python -m CGIHTTPServerを使用)が、Webサイトを大学のサーバーに配置すると、system()を除いてすべてが機能します電話。したがって、権限と関係があるようです。

問題の呼び出しは次のとおりです。

    sprintf(systemCall, "passweb -add %s", username);
    exitStatus = system(systemCall); //always 1
4

1 に答える 1

0

どうやら、実行可能パスの前に「./」を追加する必要がありました。

そのようです:sprintf(systemCall, "./passweb -add %s", username);

于 2012-12-08T22:27:53.487 に答える