-1

I have external program.exe inside my website that gets data from text file, process it and then output to another textfile.

Since apache uses www-data as user account, i manage to log in to terminal using www-data, configure it to execute program.exe and it worked. But when i run program.exe using php exec, it does not work.

I use 'whoami' to determine the user account on the job, it outputted www-data.

  • When you say "it doesn't work" what do you mean. More information please. – Drew Khoury Aug 28 '13 at 02:31
  • 1
    Wait, you're running debian, and trying to run a windows-style `.exe` binary? That's not going to work. – EEAA Aug 28 '13 at 02:32
  • I created shellscript.sh and place the path of program.exe in it. When i execute the shellscript.sh in root terminal it worked. But when i place shellscript.sh in php using shell_exec, only the echo part worked but not program.exe. Thanks for posting your comment. – Nehemiah Aug 28 '13 at 02:58
  • What is `program.exe`? Is it a proper linux binary? If so, you're going to want to remove the `.exe` extension, as it'll only serve to confuse things. Typically only windows binaries have that extension. Linux binaries don't need an extension at all, but if it makes you feel better, use something like `.bin`, or `.run`. – EEAA Aug 28 '13 at 03:07
  • I tried removing .exe but it won't simulate even in root terminal. – Nehemiah Aug 28 '13 at 03:16
  • I run my program.exe in root terminal using -- "./var/www/engine/program.exe" and it worked. But when i try to implement it in php using -- "shell_exec(.var/www/engine/program.exe)", nothing happened – Nehemiah Aug 28 '13 at 03:50

1 Answers1

1

To execute scripts/executeables within php you have to use shell_exec the right way (use single quotes)

shell_exec('/var/www/engine/program.exe')

(see http://php.net/manual/en/function.shell-exec.php)

Apart from that the extension .exe on linux is creepy ;)

deagh
  • 2,019
  • 5
  • 19
  • 19