How to execute .exe file on a windows server via PHP?

16,464

Solution 1

The php exec($cmd) function will execute your command as if it's directly put in a terminal on the server. That means you should be able to simply have

exec('START C:\xampp\htdocs\myy\Filename.exe');

And it should work.

If it still doesn't work, you can always create a batch file which contains a call to that application like

START C:\xampp\htdocs\myy\Filename.exe

On most windows systems, the START will represent the opening of a new instance of the default command prompt to run the command, it could be optional as well.

Hope it helps

Solution 2

here is the way I mad it work in my requirement

exec('sample.bat',$rt); the bat file is @echo off START AfterFX.exe -r E:\work\MovieMaker.jsx pause

here after start, I call the .exe file and transferred the file to run into the software. It worked for me.

Share:
16,464
Harsh
Author by

Harsh

Updated on June 23, 2022

Comments

  • Harsh
    Harsh almost 2 years

    I have php installed on my windows vps and available to access via port 80 and from my home PC.

    Created an auto.php file which should trigger a file name Filename.exe.

    Here is the code i have written (stolen from all over the net and worked on it)

    <?php
    exec('c:\WINDOWS\system32\cmd.exe /c START C:\xampp\htdocs\myy\Filename.exe');
        echo "Game server has been started";
    ?>
    

    But when ever i click on auto.php, it does not execute, However I can see a new command prompt is opened in Task Manager, but Filename.exe is not executed.

    However if i create a bat file named lets say test.bat with the following command

    copy NUL test.txt
    

    and change the ending part of the script to test.bat instead of Filename.exe

    i.e.

    <?php
    exec('c:\WINDOWS\system32\cmd.exe /c START C:\xampp\htdocs\myy\test.bat');
        echo "Game server has been started";
    ?>
    

    It does create a file named test.txt, but if i change the command to

    START Filename.exe

    it still doesnt get launched, am not sure what am I doing wrong here.

    Please help.

    My end game is to be able to launch filename.exe (is in same folder as of auto.php) to run remotely from browser..

  • Harsh
    Harsh almost 8 years
    If i run the command you gave, that is START C:\xampp\htdocs\myy\Filename.exe from cmd, it works fine, but if i put it in batch file and then use php to start the bat file with this command in PHP exec('START C:\xampp\htdocs\myy\test.bat'); it does not run, however if i keep the command like copy NUL test.txt in the batch, then that runs, but .exe does not run :(
  • RDardelet
    RDardelet almost 8 years
    Do you see a window popup and then disappear right away?
  • Harsh
    Harsh almost 8 years
    Nope :( nothing like that, does not even start in Task Manager.