admin管理员组文章数量:1794759
PHP脚本Apache用户下执行Java命令报exec: java: not found
问题
项目中用到PHP脚本执行Java命令。
<?php exec('java -version');在本地Terminal执行的好好的,传到服务器上用网页访问无反应。
查看Apache的error_log:
#vi /var/log/httpd/error_log发现exec: java: not found。
解决查看Java的环境变量是否已经配上去,在命令行输入:
#echo $PATH输出:
#/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/src/jdk1.8.0_91/bin可以确定系统的Java环境变量没有问题。
查看在Apache用户下Java环境变量有没有配置。在index.php写上:
<?php $path = exec('echo $PATH'); echo($path);访问index.php,输出:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin并没有看到Java的环境变量。 所以得出结论就是在Apache下找不到Java路径。
查找google,发现一篇文章,关于Apache下环境变量的配置。 按照文章中的提示:
#vi /etc/sysconfig/httpd在末尾添加:
#java PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/src/jdk1.8.0_91/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:wq保存 重启Apache
#systemctl restart httpd.service再次访问index.php
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/src/jdk1.8.0_91/bin现在Java的环境变量已经加进去了。
再次尝试Apache下,PHP调用Java命令,成功执行。
版权声明:本文标题:PHP脚本Apache用户下执行Java命令报exec: java: not found 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686931503a119544.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论