服务器:ubuntu14.04
PHP:5.4
apache:2.0
我按照网上找的方法把jdk1.7.0_79,jodconverter-2.2.2都安装好了,然后用root登录服务器,直接输入命令java -jar /alidata1/source/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /var/www/wwwroot/Upload/doc/test.doc /var/www/wwwroot/Upload/doc/'test.pdf是可以转的,但是把这段命令放到php文件里就执行不了,返回值一直都是int(127),用whoami返回的结果是www-data,然后我把服务器上wwwroot、source的所属从root改成www-data,结果还是int(127),
<?php
//shell_exec('whoami');
exec('java -jar /alidata1/source/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /var/www/wwwroot/Upload/doc/test.doc /var/www/wwwroot/Upload/doc/test.pdf 2>/var/www/wwwroot/log.txt',$arr,$res);
var_dump($arr,$res);
?>
这样抓日志,得到的是sh: 1: java: not found。
有哪位大神知道这个到底是不是权限的问题,应该如何调整?感谢!
这个不是权限的问题,你看错误提示 java这个命令没有找到,PHP调用的时候要使用绝对路径的,你可以which java查看下路径,比如是/usr/bin/java 的话应该这么写。
<?php
//shell_exec('whoami');
exec('/usr/bin/java -jar /alidata1/source/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /var/www/wwwroot/Upload/doc/test.doc /var/www/wwwroot/Upload/doc/test.pdf 2>/var/www/wwwroot/log.txt',$arr,$res);
var_dump($arr,$res);
?>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。