2017-11-19 19 views
-1

로컬 컴퓨터에서 프로그램을 시작하고 중지 할 수있는 사이트를 PHP로 만들고 싶습니다. 지금까지는 프로그램을 종료 할 수만 있었지만 시작할 수는 없었습니다. 그것은 extern machine (다른 곳에서는 내 네트워크)에서 작동해야합니다. 사이트가 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

편집 ... 아직 아무것도하지 않습니다 ... –