Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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..

like image 629
Harsh Avatar asked Oct 19 '22 05:10

Harsh


2 Answers

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

like image 90
RDardelet Avatar answered Oct 21 '22 05:10

RDardelet


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.

like image 45
Amal lal T L Avatar answered Oct 21 '22 04:10

Amal lal T L