2017-11-19 11 views
-1

ローカルマシン上でプログラムを起動および停止できるサイトをPHPで作成したいと考えています。今までは、プログラムをシャットダウンすることしかできませんでしたが、開始することはできません。それは、externマシン(どこでも、それから私のネットワーク)でも動作しなければなりません。 サイトがWAMPをサーバー上でホストされているPHPでプログラムを起動

私のコードは次のとおりです。

<?php 
if (isset($_POST['shutdown'])) { 
    $cmd = "taskkill /f /im euroscopefsdserver.exe /t"; 
    shell_exec($cmd); 
} 
if (isset($_POST['start'])) { 
    shell_exec("E:\\Programma's\Euroscope\euroscopefsdserver"); 
} 
if (isset($_POST['restart'])) { 
    $cmd = "taskkill /f /im euroscopefsdserver.exe /t"; 
    $cmd2 = "E:\Programma's\Euroscope\EuroScopeFsdServer"; 
    shell_exec($cmd); 
    shell_exec($cmd2); 
} 
?> 


<form action="index.php" method="post"> 
    <input type="submit" name="start" value="Start"> 
    <input type="submit" name="shutdown" value="Shutdown"> 
    <input type="submit" name="restart" value="Restart"> 
</form> 
+0

をしてくださいセキュリティ上の問題を軽視しないでください。 'E:'は奇妙に見え、 'プログラマズは間違っている。 – greybeard

+0

どういう意味ですか?私のC:ドライブは250GB SSDのため、これは私の余分な1TB HDDドライブと私のプログラムをインストールするフォルダです –

+0

'E:'は* '*'に続けて '\\ xyz'があっても絶対的に見えます。あなたは 'サイトはWAMPサーバーでホストされていると言いますが、* PHPコードは実行されることはありませんが、** euroscopefsdserver *がその正確なパスにインストールされた**クライアント**で実行されることはありません。単一のアポストロフィは正しいですか? "パス文字列リテラル"のバックスラッシュはどうなりますか? (テスト出力?) – greybeard

答えて

0

は、ウェブサーバ実行するコンピュータ上でプログラムを起動するには:

<?php 
    exec('"C:\Program Files (x86)\Notepad++\notepad++.exe" "C:\foo.php"'); 
?> 

または

<?php 
    $file= shell_exec("C:\Program Files (x86)\Notepad++\notepad++.exe"); 
    echo $file."</br>"; 
?> 
+0

いいえ、何もしません、ページはちょうど全体の時間をロードしています...私が挿入したコードは exec( '"E:\ Programma \' s \ Euroscope \ EuroScopeFsdServer)です。 exe "" E:\ Programma \ 's \ wamp64 \ www \ fsdserverprogram \ index.php "'); –

+0

あなたが与えたパスに実行可能ファイルがありません – Imm

+0

編集済み...まだ何もしません... –

関連する問題