Phpファイルでexeファイルを実行し、ユーザーが特定のURLにアクセスしたときにexeファイルのコンテンツを表示したい。 php関数exec( 'abc.exe');を使用してexeファイルを実行しようとしています。しかし、空白のページしか表示されません。
誰でもそれを解決する方法またはphpファイルからexeファイルを正しく実行する方法を知っていますか?よろしくお願いします。
PHPでオペレーティングシステムにアクセスするには、次の操作を行います。
$answer = Shell_exec("abc.exe");
echo $answer."</br>";
$ answer文字列には、abc.exeが出力または返す情報が含まれます。
Explode()を使用してフォーマットする必要がある場合があります。
PhpがWindowsマシンで実行されている場合にのみ、exeファイルを実行できます。さらに、共有hostigを使用している場合、ホスティング業者がexecコマンドを無効にしている可能性があります。
Windowsマシンを使用している場合、「abc.exe」は現在のディレクトリまたはPATHにある必要があります。
出力をキャプチャするには、以下を使用します。
exec( 'abc.exe', &$output);
echo $output;
リンク exec
WindowsではVaccinalBowlコードを使用できますが、アドレス.exeファイルについては、次の例を参照してください。
$answer = Shell_exec("D://Downloads/software/npp.6.7.9.2.Installer.exe");
echo $answer."</br>";
2&> 1(chmod 777でも)でもアクセス許可の問題が発生しましたが、ファイルに保存して出力を読み取ることで回避できます
例を参照してください、cs_cryptoは復号化するものです
<?php
$str = $_GET['pswd'];
$output = Shell_exec("echo $str");
echo "<pre><font color='white'>$output</font></pre>";
//$output = Shell_exec("echo ./cs_crypto de aesbase $str");
//$output = Shell_exec("./cs_crypto de aesbase $str 2>&1");
exec("./cs_crypto de aesbase $str > out");
$output = Shell_exec("tail -1 out");
//exec('./cs_crypto de aesbase $str', $output, $return_var);
//echo "<pre><font color='white'>$return_var</font></pre>";
echo "<pre><font color='white'>$output</font></pre>";
?>
Webでの最終結果