PHP - exec 无法处理 运行 java 文件

PHP - exec not working to run java file

我已经在互联网上搜索了几个小时试图解决这个问题,但没有任何意义。

我正在使用 PHP 中的 exec(),它适用于目录中的一个 class 文件,但不会执行另一个文件,这是我的代码:

exec("cd '/path/to/directory';java helloWorld 2>&1", $output);

那个很好用,但是下一个就不行了,我试了一下得到了java.lang.ClassNotFoundException:

exec("cd '/path/to/same/directory';java otherClass 2>&1", $output);

对我来说,为什么一个文件可以工作,而同一目录中的其他文件却不能工作,这对我来说毫无意义。我确保它可以访问整个目录。

检查java class的包名,如果有的话,试试java packagename.OtherClass

我遇到的问题是 helloWorld.class 在与我的 PHP 相同的文件夹中有一个副本 运行 而不是我的目录中的那个.它无法执行 cd 命令,但仍然可以 运行 同一目录中的 class 文件。

我现在想不通的问题是为什么进不了目录。说是权限问题,但是我输出exec("whoami")的时候得到的是_www,目录的属主是_www,属主有读、写、执行权限。

编辑:

我授予了 _www 访问我想要访问的目录之上的所有目录的权限,现在可以使用了。