导航:首页 > 编程语言 > phpexecjava

phpexecjava

发布时间:2022-04-18 13:20:19

php exec在linux执行 jdk没一点反应

先说我认为最有可能的问题吧
请在后面加上这句exec("exit(0)");
这个是针对你指令里的 >

然后猜测下还有什么可能的问题吧
usr/java/jdk1.6.0_23/bin/ 这个path是不是没给access的权限?可以试着把jar js文件复制到现在的目录下,再试下看看问题是不是在这(不好意思,没试过楼主这种写法,java安装好在哪里用都是java就好了吧,为什么特意给path呢)
顺便纠正个小问题吧
$print_r($o);这个前面多了个$,还请楼主仔细检查啊,不要最后发现是这么个粗心问题造成的
建议楼主试下
exec('java -version',$o);
print_r($o);
(因为我这里echo $JAVA_HOME是什么也不显示的..)
还有什么呢
关于path还可以试下apache_lookup_uri
--------------------------------------------------------------------
那段我用的是给你看个例子,如果你用的话要改的...(不会直接用了吧orz)
你把yuicompressor-2.4.2.jar test.js 复制到现在的目录下
代码这样
exec("java java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v test.js > packed.js",$output,$status);
exec("exit(0)");
//chmod("packed.js",0644);//如果你需要的话在把这句加上
echo "<h4 style='color:#CC0000'>Error</h4>\n",
join("\n",$output);
还有楼主你不仔细看回答啊$print_r($o);这句你多打了$,是错的,快点从代码里删除吧....

Ⅱ php怎样在客户端用java检验用户信息

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>

</HEAD>
<script type="text/javascript" language="javascript">

function onYanZheng1()
{
//// alert(username);
name1=document.form1.text1.value
name2=document.form1.text2.value
var regx=/^\-?[0-9]*\.?[0-9]*$/g;
if(!isTrueName(name1)){
alert('只能输入1-30个以字母开头的字串!');
return false;
}
if(!isPasswd(name2)){
alert('校验密码:只能输入6-20个字母、数字、下划线!');
return false;
}
return true;

}
function isTrueName(s) //只能输入1-30个以字母开头的字串
{ var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)){
return false}else{
return true }
}

function isPasswd(s) ////校验密码:只能输入6-20个字母、数字、下划线
{ var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) {
return false}else{
return true }}

</script>

<BODY>
<form method="post" name=form1>
<input name=text1 >
<input name=text2 >
<input type="button" name="button" value="提交" onclick='onYanZheng1()'>
</form>
</BODY>
</HTML>
我试过了,真接就可以用了,如果想改下验证规则,可以把正则表达试换下就可以了,希望对你有帮助!

Ⅲ php exec调用java程序 写文件不执行

在服务器中的有一段代码是通过调用jar包实现的:
shell_exec("java -jar $jar_file $confa $confb ")
刚开始的时候每天运行都很正常,可是最近php每次执行到这个函数的时候就被暂停了,一直卡在这里,不再向下面运行。

Ⅳ 关于php和java的问题,获取返回值!

把java做成webservice服务接口,或者是一般的接口也可以,然后php调用接口地址就可以了啊。

Ⅳ php exec 运行import类java文件问题

想通过参数传递?

public class as4 {
public static void main(String[] args){
int n = Integer.parseInt(args[0]);
double factorial = 1;
for (int i=1;i<=n;i++){
factorial = factorial*i;
}
System.out.println("Factorial = " + factorial);
}
}

听说exec不能用于客户端?

这个是真的。

Ⅵ 请教一下java和php协同开发的方法

引用
因为在做垂直搜索工作中,使用的是java编写的一个搜索类库。做垂直搜索,很多实用要使用到配置。当搜索的信息量大时,网站的更新。搜索程序的配置维护是一个不可忽视的问题。所以用了php做网页,提供配置界面,这样就可以不用直接修改配置文件或是配置数据库表。当把配置信息配置好了,我们需要检测配置是否正确,因为使用的是java程序,所以检测配置的正确与否使用的也是java程序来检测。这里就存在一个问题,就是需要把php页面上的信息传入到java程序中去检测。这个时候就需要php和java通信了。下面我就来介绍下怎么使php跟java通信(当然,你也可以使用类似webservice等技术)也就是php中调用java程序。 php要调用java程序:需要以下准备,php程序,java程序,还有就是shell程序或是bat程序。下面分别介绍下在linux服务器下php调用java程序和在windows服务器下调用java程序。前提是php,apache,jdk的环境都已经配置好。
一 在linux下php调用java程序是通过shell文件。分别是以下三个文件: test_shell.php test_shell.java test_shell.sh 他们的源代码如下:

1.test_shell.java程序代码

public class test_shell {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_shell.php程序代码

<?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),
* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使
* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_shell.sh程序代码是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代码结束

以下是三个程序的存放路径和运行次序。
1.三个文件都必须在同一目录下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很难调到java程序。

2.把test_shell.java程序编译成test_shell.class,然后把test_shell.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置一次是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到/usr/local/jdk下就以。

二、下面先介绍在windows服务器下,php调用java程序是通过bat文件来的。分别是以下三个文件: test_bat.php test_bat.java test_bat.sh 他们的源代码如下:

1.java程序

public class test_bat {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_bat.php程序代码

<?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),
* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使
* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_bat.sh程序代码是

@echo off
set path=%path%;%cd%jrebin
set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class
java test_bat %1 %2

#bat代码结束

1.三个文件都必须放在同一目录下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很难调到java程序。

2.把test_bat.java程序编译成test_bat.class,然后把test_bat.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到跟跟test_bat.java同一目录下就行了。

三、上面两个例子中,test_shell.sh用的绝对路径,test_bat.bat是用的相对路径。不管是绝对还是相对,只要路径对了就行了。

Ⅶ centos php exec java

用popen试试
$fp = popen('java -version', 'r');
$ret = '';

while (!feof($fp))
{
$ret .= fgets($fp);
}
pclose($fp);

echo $ret;

Ⅷ php exec("javac/java")问题

根据提示信息,你试一下下面的方法

1.配置操作系统的环境变量右击我的电脑->属性->高级选项卡->环境变量

配置系统环境变量的Path编辑它,给它加上一句

C:Javajdk1.6.0_21in(这是javac.exe文件在目录);

这可以是解决javac不是内部或外部命令的问题;

2.配置环境变量classpath在最前面加一个.;

阅读全文

与phpexecjava相关的资料

热点内容
dns使用加密措施吗 浏览:172
php独立运行 浏览:530
手机sh执行命令 浏览:727
云服务器的角色 浏览:733
单片机频率比例 浏览:840
我的世界服务器如何关闭正版验证 浏览:504
如何查roid服务器上的 浏览:130
安卓手机主板如何撬芯片不掉电 浏览:249
php各个框架的优缺点 浏览:101
php1100生成数组 浏览:359
以后做平面设计好还是程序员好 浏览:552
云服务器应用管理 浏览:438
饥荒云服务器搭建过程 浏览:186
可编程控制器优点 浏览:99
压缩垃圾车说明书 浏览:28
五轮书pdf 浏览:802
单片机定时流水中断系统流水灯 浏览:701
u8如何连接服务器配置 浏览:68
动力在于缓解压力 浏览:867
报考科一用什么app 浏览:346