`

为php配置java环境

阅读更多

有很多人在为php配置java环境的时候感到迷惑,本文将从“原理”的角度为你解除心中的迷雾,让你紧锁的眉头
能够舒展开来,破涕为笑,幸福快乐。

我的光盘资源里只有jdk1.3。我把jdk1.3安装在了c盘下,路径为c:\jdk1.3

我的apache在c:\apache下,我的php在c:\apache\php下。

不管3721,先运行一次下面的代码再说(java.php):
<?php

$java = new java("java.lang.System");

echo $java->getProperty("os.name");
?>
得到的结果是:
Fatal error: Cannot instantiate non-existent class: java in c:\apache\htdocs\java.php on line 3

这是当然的结果了啊,呵呵。因为php要调用java,从逻辑上看需要三样东西:第一是php自己的“接收器”,
第二是java的虚拟机,第三当然是默认的一些java类了。
只有上面的准备工作完成了,我们才能在php中使用java!下面是我配置的一些过程。

找到php.ini文件,我的php.ini文件在c:\apache\php下(其他人的可能在c:\winit下或者其他什么地方)。
我用记事本打开php.ini,搜索java这几个字母.
首先把extension=php_java.dll前面的分号去掉。运行java.php,如果没有出现"Cannot instantiate..."的
错误,则说明第一步成功了。

我运行的结果是得到
Fatal error: Unable to load Java Library c:\jdk\jre\bin\hotspot\jvm.dll, error: 找不到指定的模块。 in c:\apache\htdocs\java.php on line 3

我找到 ;java.library = c:\jdk\jre\bin\hotspot\jvm.dll,把java.library前面的分号去掉,把它修改为
java.library = c:\jdk1.3\jre\bin\hotspot\jvm.dll

得到的结果为:
Fatal error: java.lang.NoClassDefFoundError: net/php/reflect in c:\apache\htdocs\java.php on line 3

最后找到java.class.path,完成修改。得到的结果是:
Windows 2000 

哈哈,配置成功了!

我的配置如下:
[Java]

extension=php_java.dll

java.library = c:\jdk1.3\jre\bin\hotspot\jvm.dll

java.class.path = .\java\php_java.jar

java.library.path = .\extensions
java.home = c:\jdk1.3
说明:java.library.path必须是php_java.dll所在的目录的路径。

总结起来看,php要调用java,从逻辑上看需要三样东西:第一是php自己的“接收器”,这里叫做php_java.dll.
第二是java的虚拟机,这里叫做jvm.dll。第三当然是默认的一些java类了,这里是php_java.jar.

那么具体到配置上面,这三个东西分别对应的就是extension,java.library 和java.class.path.
如果你还要使用自定义的java类,那怎么办呢?答案是可以这样修改java.class.path,
比如:java.class.path=".\java\php_java.jar;c:\myclass"。注意要有引号并且用分号隔开。其中的myclass是你
放“自定义java类”的目录的路径。当你在php中使用java类的时候,php解吸器就在
php_java.jar和你的myclass目录下面寻找。

最后给出我的另外一种“完备并且充分”的配置:

[Java]

extension=php_java.dll

java.library = c:\jdk1.3\jre\bin\hotspot\jvm.dll

java.class.path =".\java\php_java.jar;c:\myclass"

;java.library.path = .\extensions
;java.home = c:\jdk1.3

如果把java.library.path前面的分号去掉,那么它必须和extension_dir有一样的值,这里都是.\extensions。
因为extension_dir是所有php扩展库所在的目录的路径,而java.library.path是php_java.dll所在的目录的路径。所以
才会有这样的要求。所以从逻辑上看,java.library.path是多余的。而java.home把它注释掉照样可以成功的运行,所以
也是多余的。因为根本的原因是还是那句话“逻辑上需要并且只需要三个”!

这样一来,我的这样的配置就是“完备并且充分”的了。
"完备"是指:有了上面的配置,就完全够了;"充分"是指,上面的配置没有任何多余的成分。
“完备并且充分”就是说我的这种配置不多不少,恰到好处,再也找不到比我这个更好的配置方案了。
——哈哈,夏天要来了,大家都来买我的瓜啊。 

分享到:
评论

相关推荐

    如何在linux服务器上同时搭建php运行环境(apache)和java运行环境(tomcat)_怎么配置php运行环境

    如何在linux服务器上同时搭建php运行环境(apache)和java运行环境(tomcat) 一台linux上同时运行php和java网站项目 一台linux上同时运行apache httpd和java tomcat

    PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar

    php-script.jar提供了PHP脚本在Java环境中运行的能力。这个库使得Java应用程序可以直接执行PHP代码,就像它们是Java的一部分一样。这为Java开发者提供了灵活的选项,可以在Java应用中嵌入PHP脚本,或者反之亦然,让...

    PHP调用Java类库

    3. **Java环境配置**: - JDK(Java Development Kit)的安装是调用Java类库的前提。按照步骤安装JDK,并确保在系统的PATH环境变量中添加JDK和JRE的bin目录,以便系统能够找到Java命令。 - 测试JDK安装是否成功,...

    php+java的配置方法总结

    **步骤1: 设置Java环境变量** 首先,需要设置Java的环境变量,确保PHP能够正确识别Java安装路径。例如,在本例中,设置如下: - `java.home`: 指向JDK安装目录。正确的路径为`D:\j2sdk14101\jre`。 - `java.class....

    php-java-bridge_7.2.1_documentation.zip

    3. **配置PHP**:在PHP中,你需要包含Java.inc文件,并设置一些配置参数,如Java服务器的URL、端口等。 4. **调用Java类和方法**:现在,你可以通过PHP代码创建Java对象,调用其方法,就像调用PHP类一样。 四、...

    selenium_RC_java环境配置

    【Selenium RC Java环境配置详解】 Selenium RC (Remote Control) 是一款强大的自动化测试工具,它不仅超越了Firefox浏览器插件的局限性,而且支持多种编程语言,包括Java、C#、Python、Ruby、PHP和Perl。这使得...

    php_java.jar和php_java.dll

    这个文件在PHP的Java扩展中起到至关重要的作用,因为PHP在Windows环境下运行时需要这个DLL来加载并调用Java环境。"php_java.dll"使得PHP能够识别并使用"php_java.jar"中的类和方法,实现跨平台的PHP-Java通信。 ...

    php调用java,不是http桥接

    // 设置JavaBridge服务地址 define('JAVA_HOST', 'localhost'); // 本地IP define('JAVA_PORT', 8080); // 端口号 // 初始化JavaBridge $jb = new JavaBridge(JAVA_HOST, JAVA_PORT); // 调用Java方法示例...

    apacheTomcat配置运行php,所需jar包JavaBridge,php-script,php-servlet,script-api

    同时,还需要配置PHP的执行环境,例如设置PHP的路径,以及可能需要的PHPIniDir(指向PHP的配置文件php.ini的位置)。在web.xml文件中,你会看到类似以下的配置: ```xml ... &lt;servlet-name&gt;php&lt;/servlet-name&gt;...

    JavaBridge.jar,php-script.jar,php-servlet.jar,script-api.jar

    它将PHP脚本转换为可以在Java环境中运行的形式,从而在Tomcat中无缝地运行PHP应用程序。 3. **php-servlet.jar**: 此文件是PHP与Tomcat之间的关键接口,它提供了一个Servlet(服务器端Java小程序),该Servlet可以...

    Ubuntu配置Java+Eclipse+MyEclipse环境

    确认Java环境是否正确配置,通过运行`java -version`命令,如果显示Java 6的信息,表示已成功配置。 接下来是安装Eclipse,Eclipse是一个基于Java的开源集成开发环境(IDE),可扩展以支持多种编程语言。从官方网站...

    php调用java方法介绍

    本文将详细介绍如何在Linux环境下通过PHP调用Java的方法,并涉及必要的环境配置、工具安装以及示例代码。 #### 二、环境准备 为了能够顺利地在PHP中调用Java方法,我们需要先搭建好基础的运行环境: 1. **操作...

    LAMP环境搭建以及java环境搭建

    LAMP环境搭建以及Java环境搭建 LAMP 环境搭建是指 Linux、Apache、MySQL 和 PHP 四个组件的组合,即 Linux 操作系统、Apache Web 服务器、MySQL 数据库管理系统和 PHP Web 编程语言。下面是 LAMP 环境搭建的详细...

    php+java开发部署环境配置2012-11-15

    2. **Java环境配置**: - **JDK安装**:安装Java Development Kit (JDK),确保版本与项目兼容。 - **环境变量设置**:配置JAVA_HOME、PATH和CLASSPATH,使得系统能够找到Java命令。 - **JRE配置**:确保系统也...

    PHP通过javabridge6.2.1调用 Java的说明及源代码(可运行)

    3. 配置Java:确保JRE在系统路径中可用,并设置`JAVA_HOME`环境变量指向JRE的安装目录。 **步骤二:创建Java类** 在Java端,你需要编写一个可供调用的类。例如,创建一个名为`HelloWorld.java`的类,包含一个返回...

    将PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar

    3. **php-script.jar**:这个文件通常用于Java环境中的PHP脚本执行。它提供了将PHP代码转换为Java字节码的能力,从而能够在Java虚拟机(JVM)上运行。这样,PHP代码可以像Java类一样被加载和执行,提高了性能,尤其...

    java配置、php配置、显示器配置等等配置大全

    在安装JDK后,需要设置JAVA_HOME、PATH和CLASSPATH三个环境变量,以便系统能够正确识别Java命令。IDE如Eclipse或IntelliJ IDEA的配置则涉及项目结构、编译器设置、代码格式化规则等。对于服务器配置,例如Tomcat,...

Global site tag (gtag.js) - Google Analytics