Wednesday 7 December 2011

PHP - JAVA BRIDGE

1) Download PHP-Java bridge here.

2) Extract the Zip there you can find JavaBridge.war extract that too.

3) You can find JavaBridge.jar here [JavaBridge.war\WEB-INF\lib\]. Copy that file to your lib\php\modules [LINUX]. For windows xampp/php/ext.

4) Run this command 

java -jar /usr/lib/php/modules/JavaBridge.jar HTTP_LOCAL:8088 3 JavaBridge.log

5) Make sure the path in above command is matches your path where you have placed the JavaBridge.jar

6)Make sure port 8088 is not listening some other service like tomcat.

7)Extract JavaBridge.jar and copy the java folder which is present in JavaBridge.jar\META-INF\  to wherever you want.  [Don't change the existing one which is present in your ext or module folder] 

8) Then run the below. It will display the info and java bridge version and some other properties.

9) require_once("java/Java.inc"); [Present in the below coding]. You need to change the path as per your requirement.
<?php
/* load extension and check it */
function check_extension() {
  if(!extension_loaded('java')) {
    $sapi_type = php_sapi_name();
    if ($sapi_type == "cgi" || $sapi_type == "cgi-fcgi" || $sapi_type == "cli") {
      if(!(PHP_SHLIB_SUFFIX=="so" && @dl('java.so'))&&!(PHP_SHLIB_SUFFIX=="dll" && @dl('php_java.dll'))&&!(include_once("java/Java.php"))) {
          echo "java extension not installed.";
          exit(2);
      }
    } else {
      require_once("java/Java.inc");
    }
  }
  if(!function_exists("java_get_server_name")) {
    echo "Fatal: The loaded java extension is not the PHP/Java Bridge";
    exit(7);
  }
}

check_extension();
if(java_get_server_name()!=null){

  phpinfo();
  print "\n\n";

  $v = new Java("java.lang.System");
  $p = @$v->getProperties();
  if($ex=java_last_exception_get()) {
    $trace = new Java("java.io.ByteArrayOutputStream");
    $ex->printStackTrace(new java("java.io.PrintStream", $trace));
    echo "Exception $ex occured:<br>\n" . $trace . "\n";
    exit(1);
  }
  $arr=java_values($p);
  foreach ($arr as $key => $value) {
    print $key . " -> " .  $value . "<br>\n";
  }
  echo "<br>\n";
  $Util = new JavaClass("php.java.bridge.Util");
  echo "JavaBridge back-end version: ".java_values($Util->VERSION)."<br>\n";
  echo "<br>\n";

  // java.util.Date example
  $formatter = new Java('java.text.SimpleDateFormat',
                        "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

  print $formatter->format(new Java('java.util.Date'));
  echo "<br>\n";


 } else {

  phpinfo();
  print "\n\n";

  /* java_get_server_name() == null means that the back-end is not
   running */
  if(PHP_SHLIB_SUFFIX=="so") $ext_name="java.so";
  else if(PHP_SHLIB_SUFFIX=="dll") $ext_name="php_java.dll";
  else $ext_name="unknown suffix: ".PHP_SHLIB_SUFFIX;

  echo "Error: The PHP/Java Bridge back-end is not running.\n";
  echo "\n";
  echo "Please start it and/or check if the directory\n";
  echo "\n\t".ini_get("extension_dir")."\n\n";
  echo "contains \"$ext_name\" and \"JavaBridge.jar\".\n";
  echo "\n";
  echo " Check if the following values are correct:\n\n";
  echo "\tjava.java_home = ".ini_get("java.java_home")."\n";
  echo "\tjava.java = ".ini_get("java.java")."\n\n";
  echo "If you want to start the back-end automatically, disable:\n\n";
  echo "\tjava.socketname = ".ini_get("java.socketname")."\n";
  echo "\tjava.hosts = ".ini_get("java.hosts")."\n";
  echo "\tjava.servlet = ".ini_get("java.servlet")."\n";
  echo "\n";
  echo "If that still doesn't work, please check the \"java command\" above and\n";
  echo "report this problem to:\n\n";
  echo "\tphp-java-bridge-users@lists.sourceforge.net.\n";

}
?>
Reference taken From :: http://php-java-bridge.sourceforge.net/pjb/


3 comments:

  1. I have seen a very informative blog. Really I like this blog. This blog gives us very good knowledge about web development.
    cakephp development

    ReplyDelete
  2. Hi Senthil,

    Its so nice to see your blog. with more valuable help to us.

    I have been searching for the ICICI Payment gateway integration with Magento

    But we got stuck up..as what ever we do. to enable Java to work on PHP we have failed.

    If you have any ideas. please help us. As i couldn't find out the correct version of PHP Java Bridge.

    Im a system administrator. working in as contract employee. If you can please mail me at alexvikram@gmail.com. as this would help my fellow colleagues job secure.

    ReplyDelete
    Replies
    1. Hi Sabr,

      Sorry for the late response. I went for a vacation thats why i have missed.

      You can download the needed files from the below URL.

      http://php-java-bridge.sourceforge.net/pjb/download.php

      You just download the war file and follow the instruction which i have mentioned above that's it.

      Good Luck .....

      Delete