PHP exec Java cmd失败,权限被拒绝
我目前正在编写一些需要调用jar的PHP脚本。我编写了一个测试脚本来测试Java-version cmdPHP exec Java cmd失败,权限被拒绝,java,php,memory,exec,permission-denied,Java,Php,Memory,Exec,Permission Denied,我目前正在编写一些需要调用jar的PHP脚本。我编写了一个测试脚本来测试Java-version cmd echo exec('whoami'); echo '<hr/>'; exec('java -version', $out); var_dump($out); 我已经在控制台中测试了cmd,它是正常的 [root@localhost ~]# java -version java version "1.7.0_45" OpenJDK Runtime Environment (r
echo exec('whoami');
echo '<hr/>';
exec('java -version', $out);
var_dump($out);
我已经在控制台中测试了cmd,它是正常的
[root@localhost ~]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
有人能帮我吗
更新:这是hs\u错误日志
我也有类似的问题。我在RedHat 7(安装在Amazon EC2上)上复制了它。
只有当selinux切换到许可模式时,问题才得以解决
$sestatus
或$getenforce
李>
- 临时:
$set0
- 永久:编辑
文件/etc/selinux/config
经过深入研究,似乎最好启用“apache使用内存”,而不要关闭模式:
setsebool-P httpd_execmem 1
更多信息。在控制台中尝试执行:
sudo--user=apache java-version
,以确保您没有为apache用户设置某种内存限制。另外,/tmp/jvm-26720/hs_error.log有什么功能?@Mike我用error.log更新了这个问题。更重要的是,我不能在控制台上执行“sudo--user=apachejava-version”成功。执行它时会发生什么?你有没有遇到同样的错误?@Mike我在控制台上执行了cmd java-version success。