Java文件在命令行中执行但在浏览器中不执行

时间:2014-04-21 01:50:29

标签: java php linux apache shell

我是linux新手并将网页连接到服务器。

我正在开发一个项目,该项目需要一个html页面来执行Linux服务器中的java文件并将输出显示在网页中。

  1. 我创建了一个在命令行中执行正常的javafile并创建了一个results.txt文件。
  2. 我创建了一个shell脚本,可以在其中成功执行javafile。
  3. 一个html页面,我写了一个ajax来触发first.php文件来执行上面的shell脚本。
  4. 当我从linux的命令行执行php文件时,一切都很成功,它在java和shell脚本中显示测试打印注释,它从java代码和shell代码创建一个文件。

    但是当我从浏览器执行时

    问题#1 - 它不会从shell脚本创建文件,但会显示测试打印语句

    问题#2 - 它根本不执行java代码,所以不创建文件也不打印语句。

    如果我从浏览器执行这些shell和java代码,你能否告诉我是否必须启用或更改设置?

    我暂时将 public_html 的权限设置为 777

    Error From browser:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007fcf589ac000, 2555904, 1) failed; error='Permission denied' (errno=13) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (malloc) failed to allocate 2555904 bytes for committing reserved memory. # An error report file with more information is saved as: # /tmp/hs_err_pid306.log

2 个答案:

答案 0 :(得分:1)

如果您使用Centos,selinux可能会出现一些问题。

禁用selinux的命令是linux命令提示符下的“setenforce 0”。

答案 1 :(得分:0)

看来内存是问题...... Java没有获得所需的内存, 令人惊讶的是它只有2555904字节= 2.5MB !! 请尝试增加php.ini中的内存限制

memory_limit = 10M

ATLEAST

相关问题