Java - 创建一个 php 文件,执行它并获得输出
Java - create a php file, execute it and get output
在我正在开发的JAVA应用程序中,我需要在服务器端执行客户端发送的一段PHP代码。
我找到了一些有趣的库,但是当出现语法错误时它们不会 return 输出。
作为替代方案,我考虑创建一个 php 文件,向其中添加内容,然后使用 ubuntu 命令行执行它。
我不太清楚的是,如何获取执行的输出,以及在使用终端执行代码时,我在 [=19= 中创建的 php 文件的路径是什么].
如果你有任何其他想法会很棒
我不太了解 Java 但是如果你要使用终端执行 php 那么你可以使用标准输出重定向
php fileThatYouUploaded.php > someTemporaryFileToGetOutput.txt 2> tempFileWithErrorsIfAny.txt
或者如果您希望将输出和错误放在同一个文件中:
php fileThatYouUploaded.php > someTemporaryFileWithOutputAndErrors.txt 2>&1
附带说明:信任来自用户的代码是一个非常糟糕的主意。你最好使用某种库,它允许你在 closed/sandboxed 环境中 whitelist/blacklist 函数和 类 甚至 运行 它。
在我正在开发的JAVA应用程序中,我需要在服务器端执行客户端发送的一段PHP代码。 我找到了一些有趣的库,但是当出现语法错误时它们不会 return 输出。 作为替代方案,我考虑创建一个 php 文件,向其中添加内容,然后使用 ubuntu 命令行执行它。
我不太清楚的是,如何获取执行的输出,以及在使用终端执行代码时,我在 [=19= 中创建的 php 文件的路径是什么].
如果你有任何其他想法会很棒
我不太了解 Java 但是如果你要使用终端执行 php 那么你可以使用标准输出重定向
php fileThatYouUploaded.php > someTemporaryFileToGetOutput.txt 2> tempFileWithErrorsIfAny.txt
或者如果您希望将输出和错误放在同一个文件中:
php fileThatYouUploaded.php > someTemporaryFileWithOutputAndErrors.txt 2>&1
附带说明:信任来自用户的代码是一个非常糟糕的主意。你最好使用某种库,它允许你在 closed/sandboxed 环境中 whitelist/blacklist 函数和 类 甚至 运行 它。