【问题标题】:Trying to exec javac.exe from a php script试图从 php 脚本执行 javac.exe
【发布时间】:2025-12-26 09:40:07
【问题描述】:

我有一个php脚本:

exec( "javac Test.java" );

当我从浏览器执行脚本时,我在 apache 错误日志中收到此错误:

'javac' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

但我很确定这不是路径问题,执行 java 命令有效 - 它与 javac 在同一个目录中 - 如果我从 shell 而不是浏览器运行 php 脚本,则执行 javac 有效。

Test.java所在的目录是脚本生成的,拥有完全权限——777

我在 Surface Notebook 上的 Windows 10 上运行 xampp。任何帮助将不胜感激。

【问题讨论】:

  • 您需要提供 javac 的绝对路径

标签: java php apache permissions javac


【解决方案1】:

您需要使用javac 的完整路径才能使其正常工作,例如

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

根据您的系统和 Java 版本,路径可能类似于:

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

【讨论】:

  • 托管到服务器应该怎么办?
  • 你应该也可以这样做,只需更改路径以匹配服务器路径即可。