加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PHP exec Java cmd失败,权限被拒绝

发布时间:2021-07-06 05:20:53 所属栏目:大数据 来源: https://www.jb51.cc
导读:我目前正在编写一些需要调用jar的PHP脚本.我编写了一个测试脚本来测试Java -version cmd. echo exec('whoami');echo 'hr/';exec('java -version', $out);var_dump($out); 页面返回如下: apachearray(6) { [0]= string(134) "OpenJDK 64-Bit Server VM warni

我目前正在编写一些需要调用jar的PHP脚本.我编写了一个测试脚本来测试Java -version cmd.

echo exec('whoami');
echo '<hr/>';

exec('java -version', $out);
var_dump($out);

页面返回如下:

apache
array(6) { [0]=> string(134) "OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007ff705000000, 2555904, 1) Failed; error='Permission denied' (errno=13)" [1]=> string(1) "#" [2]=> string(76) "# There is insufficient memory for the Java Runtime Environment to continue." [3]=> string(100) "# Native memory allocation (malloc) Failed to allocate 2555904 bytes for committing reserved memory." [4]=> string(57) "# An error report file with more information is saved as:" [5]=> string(29) "# /tmp/jvm-26720/hs_error.log" }

我在控制台测试了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_error.log

enter image description here


解决方法:

我有一个类似的问题.我在RedHat 7(安装在Amazon EC2上)上复制了它.
只有当selinux切换到许可模式时 – 问题才得以解决.

> Sudo或以root用户身份登录
>检查状态:$sestatus或$getenforce.
>要关闭它:

>临时:$setenforce 0.
>永久:编辑/ etc / selinux / config文件

经过深入研究后,看起来最好启用“apache使用内存”而不是关闭模式:
setsebool -P httpd_execmem 1

更多信息here.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读