Search code examples
javaphpapachepermissionsjavac

Trying to exec javac.exe from a php script


i have a php script with the line:

exec( "javac Test.java" );

I get this error in the apache error log when I execute the script from the browser:

'javac' is not recognized as an internal or external command, operable program or batch file.

but I am pretty sure it's not a path issue, executing the java command works - it's in the same dir as javac - and executing javac works if I run the php script from the shell, not the browser.

The directory that Test.java resides in is generated by the script, with full permissions - 777

I am running xampp on Windows 10 on a Surface Notebook. Any help would be appreciated.


Solution

  • You need to use the full path to javac for it to work correctly, e.g.

    exec( "C:\path\to\javac Test.java" );
    

    Depending on your system and Java version, the path could be similar to:

    C:\Program Files\Java\jdkx.x.x\bin