gpt4 book ai didi

java - tomcat java php

转载 作者:行者123 更新时间:2023-11-28 22:45:29 26 4
gpt4 key购买 nike

我想tomcat tomcat, java & php 一起用。我的java程序创建了一个文本文件并在文件上写了一些东西,当我运行时没有创建文件。 java程序通过命令行运行。我将所有文件保存在/usr/local/tomcat/webapps/testjava 中。Java文件内容:

public class test
{
public static void main(String args[]) throws IOException
{
try{
Writer fos = null;
File outputFile = new File("outList.txt");
fos = new BufferedWriter(new FileWriter(outputFile));
fos.write("hi");
fos.write("\n");
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

PHP文件内容:

<?php
$output = exec("java test", $ret);
echo $ret;
echo file_get_contents("outList.txt");
echo "HI";
?>

$ret 给定输出为数组。 HI 正在显示。

还有一点,当我在命令行上执行 php index.php 时,它正在运行,这意味着正在创建 outList.txt。

var_dump($ret) 给出:

HTTP Status 500 -
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.RuntimeException: PHP Parse error: syntax error, unexpected T_ECHO in /usr/local/tomcat/webapps/testjava/index.php on line 7

php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:499)
php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:521)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.RuntimeException: PHP Parse error: syntax error, unexpected T_ECHO in /usr/local/tomcat/webapps/testjava/index.php on line 7

php.java.servlet.fastcgi.FastCGIServlet.parseBody(FastCGIServlet.java:409)
php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:433)
php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:481)
php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:521)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.

最佳答案

好吧,对于初学者来说,您的文件名在 Java 和 PHP 代码之间是不同的(outList.txtout.txt)。这是发布问题时的错误还是代码中的真正错误?

否则,我建议您查看 PHP exec 调用的返回值和错误输出(如果有)——很可能是 Java 调用未能正确运行并且检查这些会告诉你原因。可能有很多原因 - 在运行 PHP 预处理器的用户的路径上找不到 java,在任何类路径设置中都找不到 test.class 文件,等等。能够以交互方式运行 Java 命令和让它由网络服务器运行是非常不同的事情,因为这是高度依赖于环境的。

关于java - tomcat java php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6113855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com