2011-04-18 99 views
2

我想在php中运行一个简单的.jar文件。 .jar应该读取一个名为test.txt的文件并编写一个名为test2.txt的文件。在php中执行.jar的问题

在创建jar之后,我在cmd中执行java -jar "C:\wamp\www\Sistem\Sistem\dist\Sistem.jar",它工作得很好,test2.txt被修改,但是在php中这不会发生。这里的源

C:\ WAMP \ WWW \ SISTEM \的index.php

< ? php 
echo exec('java -jar "C:\wamp\www\Sistem\Sistem\dist\Sistem.jar"'); 
? > 

我刚刚访问http://localhost/Sistem/,但test2.txt文件不修改。我真的需要帮助,谢谢!

+2

**系统**拼写**系统**! – RobertPitt 2011-04-18 19:46:05

+0

在路径中尝试'\\\'而不是'\\'。 – cweiske 2011-04-18 20:13:27

+0

我没有在Windows上运行php,但这种事情通常需要一些文件权限。拥有Web服务器进程的用户可能需要在'test2.txt'上写入权限。 – grossvogel 2011-04-18 22:30:41

回答

3

尝试使用绝对路径的Java二进制:

shell_exec('"c:/program files/oracle/jdk/bin/java.exe" -jar "d:/path/to/jar.jar"'); 

如果它会工作,这意味着PHP不同%PATH%环境变量运行。

+0

谢谢你的答案为我工作。 – Haider 2014-09-14 06:38:16