WEB开发网
开发学院操作系统Linux/Unix 在 AIX Version 5.3 中使用 Java 和 PHP 技术进行... 阅读

在 AIX Version 5.3 中使用 Java 和 PHP 技术进行开发 (5)

 2008-11-10 08:25:55 来源:WEB开发网   
核心提示: 您应该可以在名为“Fopen wrappers”的部分中找到前面的那个选项,如清单 8 所示,在 AIX Version 5.3 中使用 Java 和 PHP 技术进行开发 (5)(8),清单 8. Fopen wrappers 部分;;;;;;;;;;;;;;;;

您应该可以在名为“Fopen wrappers”的部分中找到前面的那个选项,如清单 8 所示。

清单 8. Fopen wrappers 部分

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
allow_url_include = On

将其配置更改为 On,并且添加 allow_url_include 选项。

在完成配置工作后,重新启动 Apache:$ /usr/local/apache2/bin/apachectl restart

然后,在您的 Web 服务器上创建一个与清单 9 中所示类似的文件。

清单 9. 在您的 Web 服务器上创建一个文件

<?
require_once("http://sulaco.mcslp.pri:8080/JavaBridge/java/Java.inc");
$System = new Java("java.lang.System");
print_r($System->getProperties());
?>

其中第一行访问 Tomcat 应用服务器中运行的远程 PHP Java Bridge。通过直接从远程服务器加载包含文件,在访问 Java 类时,所需的类就知道应该与哪个服务器进行通信。

上面的清单 9 中的第二行,创建了一个新的 Java 类实例作为 PHP 对象。在这个示例中,您使用了 java.lang.System 类,它可以用于转储有关 Java 安装的属性。

最后一行用于转储已配置的属性。

如果您现在访问 Apache Web 服务器中的 PHP 脚本,那么您应该获得与清单 10 中所示类似的输出。

清单 10. 输出

[[o:Properties]:"{java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition,
sun.boot.library.path=/usr/local/lib:/usr/local/apr/lib:/System/Library/Frameworks/
  JavaVM.framework/Versions/1.5.0/Libraries, java.vm.version=1.5.0_07-87,
  shared.loader=, awt.nativeDoubleBuffering=true, gopherProxySet=false,
  java.vm.vendor="Apple Computer, Inc.", java.vendor.url=http://apple.com/,
  path.separator=:, tomcat.util.buf.StringCache.byte.enabled=true,
  java.util.logging.config.file=/Data/Dev/apache-tomcat-6.0.10/conf/logging.properties,
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=US,
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine
  Specification, user.dir=/Data/Dev/apache-tomcat-6.0.10, java.runtime.version=
  1.5.0_07-164, java.awt.graphicsenv=apple.awt.CGraphicsEnvironment, java.endorsed.
  dirs=/Data/Dev/apache-tomcat-6.0.10/endorsed, os.arch=i386, java.io.tmpdir=/Data/
  Dev/apache-tomcat-6.0.10/temp, line.separator= , java.vm.specification.vendor=Sun
  Microsystems Inc., java.naming.factory.url.pkgs=org.apache.naming, java.util.
  logging.manager=org.apache.juli.ClassLoaderLogManager, os.name=Mac OS X, sun.jnu.
  encoding=MacRoman,java.library.path=/usr/local/lib:/usr/local/apr/lib:.:/Library/
  Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java, java.specification.
  name=Java Platform API Specification, java.class.version=49.0, sun.management.
  compiler=HotSpot Client Compiler, os.version=10.4.9, http.nonProxyHosts=mcslp.pri|
  *.mcslp.pri|192.168.0.1|sendit.com|*.sendit.com, user.home=/Users/mc, catalina.
  useNaming=true, user.timezone=Europe/London, java.awt.printerjob=apple.awt.
  CPrinterJob, file.encoding=MacRoman, java.specification.version=1.5, catalina.home=/
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  Data/Dev/apache-tomcat-6.0.10,java.class.path=:/Data/Dev/apache-tomcat-6.0.10/bin/
  bootstrap.jar:/Data/Dev/apache-tomcat-6.0.10/bin/commons-logging-api.jar:/System/
  Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/
  14compatibility.jar,user.name=root, java.naming.factory.initial=org.apache.naming.
  java.javaURLContextFactory,package.definition=sun.,java.,org.apache.catalina.,
  org.apache.coyote.,org.apache.tomcat.,org.apache.jasper., java.vm.specification.
  version=1.0, java.home=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
  Home, sun.arch.data.model=32, user.language=en, java.specification.vendor=Sun
  Microsystems Inc., awt.toolkit=apple.awt.CToolkit, java.vm.info=mixed mode, sharing,
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  java.version=1.5.0_07,java.ext.dirs=/Library/Java/Extensions:/System/Library/Java/
  Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext,
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  sun.boot.class.path=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
  Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
  Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/
  laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/
  sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/
  jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar,
  server.loader=, java.vendor=Apple Computer, Inc., catalina.base=/Data/Dev/
  apache-tomcat-6.0.10, file.separator=/, java.vendor.url.bug=http://developer.
  apple.com/java/, common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,
  sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, mrj.version=1040.1.5.0
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  _07-164, socksNonProxyHosts=mcslp.pri|*.mcslp.pri|192.168.0.1|sendit.com|
  *.sendit.com, package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
  tomcat.,org.apache.jasper.,sun.beans., ftp.nonProxyHosts=mcslp.pri|*.mcslp.pri|
  192.168.0.1|sendit.com|*.sendit.com, sun.cpu.isalist=}"]

尽管输出中可能没有很清楚地说明,但是您所执行的操作在 PHP 脚本中创建了一个 Java 代码的实例,然后对该代码执行 getProperties() 方法。您执行该代码的方式与 PHP 类似,尽管结果是执行一个 Java 类的方法。而且,该 Java 类本身位于远程服务器,或者它曾位于远程服务器,如果这是您希望执行该代码的方式。

在下一个部分,即本系列文章的最后一部分中,您将使用这个功能来构建一个直接使用原始 Java 类的 PHP 应用程序。

总结

在本文中,您了解了如何访问本系列文章第 4 部分中创建的 Java 类的启用了 SOAP 的部署。创建 Web 服务接口的过程比较复杂,并且不是很直观;然而,Web 服务接口允许从任何 Web 服务客户端访问信息。

但是 Web 服务也有一定的局限性,如果您希望获得一种高性能的解决方案,那么可能存在比 Web 服务路由更合适的备选方法,其中之一便是 PHP Java Bridge。尽管 PHP Java Bridge 的安装比较复杂,但是在完成设置之后,访问远程 Java 类的实际代码则非常简单。只需要使用三行代码,您就可以访问一个远程 Java 类,如果要通过使用 Web 服务和 PHP 客户端来访问它,则需要数百行的代码才能完成相同的过程。

上一页  3 4 5 6 7 8 

Tags:AIX Version 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接