【发布时间】:2018-11-07 13:23:25
【问题描述】:
我正在编写一个脚本,该脚本调用 Imagej Java 应用程序来处理由 PHP 网页上传的图像。 当 PHP shell_exec 命令调用应用程序时会出现问题。 该结构在 Windows 中进行了测试并正常工作。 但是,当尝试在 linux 中实现时,shell_exec 会停止 php 脚本并永远保持加载状态。在同一个 shell_exec “java -version” 中工作,但调用 jar 不起作用。 shell_exec 命令是:
java -Xmx512m -Dplugins.dir="/var/www/ImageJ/" -jar "/var/www/ImageJ/ij.jar" -batch "/var/www/ImageJ/macros/[macrofile]" [imagefile.jpeg]
但是,当我尝试从控制台运行 php 时,它会运行。
php > shell_exec("java -Xmx512m -Dplugins.dir=\"/var/www/ImageJ/\" -jar \"/var/www/ImageJ/ij.jar\" -batch \"/var/www/ImageJ/macros/melaTest.ijm\" F15274739305711.jpeg");
会不会是php.ini或者用户的问题?
【问题讨论】:
-
在 linux 命令提示符下测试过? 'java' 在本地路径中吗?
-
php 用户用户对那些文件\目录有读权限\写权限?
-
imagej 文件夹位于 /var/www/ (apache2) 中,上面的命令在 LXTerminal 中运行良好。 Java 在 /usr/lib/jvm/java-11-openjdk-i386/bin 中。
-
但是,当我尝试从控制台运行 php 时,它会运行。 php > shell_exec("java -Xmx512m -Dplugins.dir=\"/var/www/ImageJ/\" -jar \"/var/www/ImageJ/ij.jar\" -batch \"/var/www/ImageJ /macros/melaTest.ijm\"F15274739305711.jpeg");会不会是 php.ini 或者用户的问题?
标签: java php linux shell imagej