我一直在互联网上搜索数小时试图解决这个问题,但这没有任何意义。
我正在使用PHP中的exec()
,它适用于目录中的一个类文件,但不会执行另一个类文件,这是我的代码:
exec("cd '/path/to/directory';java helloWorld 2>&1", $output);
一个工作正常,但下一个工作不起作用,当我尝试时我得到一个java.lang.ClassNotFoundException
:
exec("cd '/path/to/same/directory';java otherClass 2>&1", $output);
对我来说,为什么一个文件可以工作而不是同一目录中的其他文件是没有意义的。我确保它可以访问整个目录。
答案 0 :(得分:0)
检查java类的包名,如果有,请尝试java packagename.OtherClass
答案 1 :(得分:0)
我遇到的问题是,与我的PHP相同的文件夹中有helloWorld.class
的副本,而不是我目录中的那个。它无法执行cd
命令,但仍可以在同一目录中运行类文件。
我现在无法弄清楚的问题是它无法进入目录的原因。它说这是一个权限问题,但是当我输出exec("whoami")
时,我得到_www
并且目录的所有者是_www
,并且所有者具有读取,写入和执行权限。< / p>
修改强>
我允许_www
访问我想要访问的目录上方的所有目录,现在它可以正常工作。