【问题标题】:Shell Exec Jar Php壳牌执行 Jar Php
【发布时间】:2016-01-27 19:05:32
【问题描述】:

我正在尝试用这一行在 PhP 中执行一个 jar

shell_exec("java -jar OCR.jar 2.jpeg /opt/lampp/htdocs/output/");

在终端中这个 jar 运行良好,但在 php 中不行。

如何解决这个问题?

【问题讨论】:

    标签: php ubuntu jar exec shell-exec


    【解决方案1】:

    试着打电话

    which java
    

    在 ubuntu 控制台中,这可能会给你

    /usr/bin/java
    

    所以使用完整路径

    我还建议调用 exec($command, $output) 并打印输出数组以获取更多信息。将 stderr 流重定向到 stdout 以 2>&1 结束您的命令,例如

     /usr/bin/java -jar OCR.jar 2.jpeg /opt/lampp/htdocs/output/ 2>&1
    

    【讨论】:

    • java.io.FileNotFoundException: 2.jpeg (Permission denied) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.(RandomAccessFile.java:241) at javax. imageio.stream.FileImageOutputStream.(FileImageOutputStream.java:69) 在 com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(FileImageOutputStreamSpi.java:55) 在 javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:419) 在 javax。 imageio.ImageIO.write(ImageIO.java:1530)
    • 可能你也需要一个 2.jpeg 的完整路径,还要检查读取权限
    • 从 2.jpeg 更改权限后