【发布时间】:2010-09-06 18:21:02
【问题描述】:
我创建了一个可以生成 PDF 文件的 jar 文件。我已经像这样从命令行调用它 -
java -jar project.jar 'Author, An---A Title'
这很好用,但是当我使用以下代码从 PHP 文件调用相同的 jar 文件时,它会创建一个名称正确但为空且字节为零的文件。
<?php
echo exec("java -jar project.jar 'Author, An---A Title'");
?>
我确定这不是 jar 的问题(因为它可以从命令行运行),而且我几乎可以肯定它不是来自 PHP 文件(因为它创建了空文件,所以它必须已被读取) ,所以我认为问题可能出在目录的权限上?我正在使用 linux,PHP 正在通过 OPT 目录中的 XAMMP 运行。有什么想法吗?
提前致谢。
【问题讨论】:
-
这是您自己的 JAR 还是第 3 方的?哪一个?你懂 Java 吗?
-
我已经这样做了很多次,应该可以按预期工作。也许这是一个用户/权利问题。您是否使用您的 webserver/php 进程使用的同一用户调用命令行?
-
如果你可以“su”到 Apache 运行的用户,你可以测试你的权限理论。
su apache;java -jar ..etc..可能不起作用,Apache 用户通常没有外壳。可能需要一些侦探工作来找出你的 Apache 运行的用户,试试ps aux | grep apache或ps aux | grep httpd。用户应该是ps输出的第一列 -
嗨 Robin,我更改了整个 Apache 目录的用户,但仍然无法正常工作,这是最奇怪的事情。我想不通。
标签: java php permissions jar