2017-03-21 5 views
0

私はPHPを使ってウェブサイトを構築しています。 PHPサイトから実行可能なコマンドラインに変数を送り、実行ファイルを実行してから、応答を読み込む必要があります。PHPスクリプトから実行ファイルに引数を送信するにはどうすればよいですか?

私は実行ファイルに引数を正しく送信していないと思います。

私のPHPコード:あなたが見ることができるように、私の実行可能ファイルは、現在だけかどうかに基づいて応答を提供するように設定されている

using System; 

namespace PHP_Test 
{ 
    class Hello 
    { 
     static void Main(string[] args) 
     { 
      if (args.Length == 0) 
      { 
       Console.WriteLine("Please enter a numeric argument."); 
      } 
      else 
      { 
       Console.WriteLine("Hello World!"); 

      } 
     } 
    } 
} 

<?php 
$a=escapeshellarg('6'); 
//set $c [lindex $argv 0]; 
$answer = shell_exec("D:/WebPages/Test/PHP_Test.exe $a"); 
echo $answer; 
?> 

私のC#の実行可能コード議論が提供されたかどうか。 PHPから引数を渡さないと、正しい応答が返されます(「数値引数を入力してください」)。しかし、私が議論を提供しようとすると、私は何のフィードバックも得ていないので、間違っていると私は信じています。

ご協力いただきありがとうございます。変数はその値で置換されていない単一引用符で

答えて

0

、あなたは二重引用符を使用する必要があります。また、STDERR

$answer = shell_exec("D:\WebPages\PHP_Test.exe $a 2>&1"); 
+0

こんにちは、ありがとうございます。私はそれを二重引用符に変えて、まだ出力がないという同じ問題を経験しています。 – clutch1020

+0

解決策を試しましたが、それを試してください – gmc

+0

残念ながら空白が残っています – clutch1020

0

を取得するには、コマンドの最後に2>&1を追加します。

編集を私は私の問題の答えの一部を見つけました。何らかの理由で実行ファイルへのパスを含めると、引数を投稿できません。実行ファイルをディレクトリフォルダに置き、実行ファイルに至るパスを使わずにそのファイルを呼び出し、引数を許可しました。

+0

もちろん、あなたは逆さまのバーを使用する必要があります。私の答えを見る – gmc

関連する問題