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

标签 java php linux apache shell

我不熟悉 linux 和将网页连接到服务器。

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

  1. 我创建了一个在命令行中运行良好的 javafile,并创建了一个 results.txt 文件。
  2. 我已经创建了一个 shell 脚本,它成功地执行了其中的 javafile。
  3. 一个 html 页面,我在其中编写了 ajax 以触发 first.php 文件来执行上述 shell 脚本。

当我在 linux 中从命令行执行 php 文件时,一切都成功了,它在 java 和 shell 脚本中显示测试打印注释,它从 java 代码和 shell 代码创建一个文件。

但是当我从浏览器执行时

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

第 2 期 - 它根本不执行 Java 代码,因此不会创建文件或打印语句。

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

我暂时把public_html的权限设为777

来自浏览器的错误:Java HotSpot(TM) 64 位服务器 VM 警告:信息:os::commit_memory(0x00007fcf589ac000, 2555904, 1) 失败; error='Permission denied' (errno=13) # # 内存不足,Java 运行时环境无法继续。 # native 内存分配 (malloc) 未能分配 2555904 字节用于提交保留内存。 # 包含更多信息的错误报告文件保存为:#/tmp/hs_err_pid306.log

最佳答案

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

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

关于在命令行中执行但不在浏览器中执行的 Java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189678/

相关文章:

java - 没有名为 EntityManager 的持久性提供程序...错误

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

linux - 带有 --prof 选项的 Node 创建多个日志文件而不是一个 v8.log

python - 如何从以空格结尾的字符串中排除子字符串?

java - 来自 Java 的 Linux 命令

java - 需要帮助在 Java 中将数字转换为单词

java - webMethods 获取 ServiceException 的根本原因

java - 访问 cpu 寄存器

javascript - 如何使用 jquery 或 php 根据先前选择的响应保持单选按钮的选择?

php - 选择条件 SQL 语句