You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(6) |
Nov
(8) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(19) |
Feb
(15) |
Mar
(10) |
Apr
(8) |
May
(7) |
Jun
(9) |
Jul
(13) |
Aug
(31) |
Sep
(111) |
Oct
(52) |
Nov
(72) |
Dec
(42) |
2006 |
Jan
(21) |
Feb
(32) |
Mar
(33) |
Apr
(24) |
May
(15) |
Jun
(40) |
Jul
(32) |
Aug
(19) |
Sep
(38) |
Oct
(37) |
Nov
(63) |
Dec
(37) |
2007 |
Jan
(18) |
Feb
(39) |
Mar
(69) |
Apr
(49) |
May
(71) |
Jun
(59) |
Jul
(71) |
Aug
(85) |
Sep
(46) |
Oct
(14) |
Nov
(25) |
Dec
(56) |
2008 |
Jan
(24) |
Feb
(77) |
Mar
(104) |
Apr
(44) |
May
(41) |
Jun
(11) |
Jul
(31) |
Aug
(59) |
Sep
(44) |
Oct
(86) |
Nov
(66) |
Dec
(93) |
2009 |
Jan
(88) |
Feb
(41) |
Mar
(49) |
Apr
(135) |
May
(22) |
Jun
(31) |
Jul
(60) |
Aug
(71) |
Sep
(76) |
Oct
(18) |
Nov
(52) |
Dec
(20) |
2010 |
Jan
(8) |
Feb
(50) |
Mar
(35) |
Apr
(48) |
May
(46) |
Jun
(84) |
Jul
(38) |
Aug
(61) |
Sep
(51) |
Oct
(31) |
Nov
(17) |
Dec
(18) |
2011 |
Jan
(51) |
Feb
(14) |
Mar
(17) |
Apr
(23) |
May
(15) |
Jun
(11) |
Jul
(5) |
Aug
(5) |
Sep
(15) |
Oct
(8) |
Nov
(5) |
Dec
(25) |
2012 |
Jan
(2) |
Feb
(4) |
Mar
(6) |
Apr
(9) |
May
(27) |
Jun
(32) |
Jul
(36) |
Aug
(10) |
Sep
(16) |
Oct
(3) |
Nov
(13) |
Dec
(7) |
2013 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(2) |
Nov
(1) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
(9) |
Jul
(5) |
Aug
(2) |
Sep
(4) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
(3) |
Feb
(2) |
Mar
(4) |
Apr
(3) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(6) |
Feb
|
Mar
|
Apr
(10) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2018 |
Jan
(2) |
Feb
(5) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <php...@li...> - 2023-02-09 16:49:33
|
I'm not sure if it still works, but at a certain point I moved to https://github.com/belgattitude/soluble-japha as the client but it comes with some refactoring. Good luck On Wed, Feb 8, 2023 at 8:59 PM php-java-bridge-users--- via php-java-bridge-users <php...@li...> wrote: > Good day - > I'm upgrading an application that uses JavaBridge to PHP 8.1. When I do, > the java.inc file errors on "Return type of java_objectIterator::current() > should either be compatible with Iterator::current() ...." basically > indicating that JavaBridge is overriding a PHP built-in class/interface > (Iterator). But in PHP 8, return types of built-in classes/interfaces are > declared, and therefore return types of their implementations/extensions > also have to be declared. Is there a version of the java.inc file that > takes this into account for PHP 8.1 compatibility, or do you recommend that > the file be manually changed, or another course of action? Thank you! > > > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > |
From: <php...@li...> - 2023-02-08 19:58:50
|
Good day - I'm upgrading an application that uses JavaBridge to PHP 8.1. When I do, the java.inc file errors on "Return type of java_objectIterator::current() should either be compatible with Iterator::current() ...." basically indicating that JavaBridge is overriding a PHP built-in class/interface (Iterator). But in PHP 8, return types of built-in classes/interfaces are declared, and therefore return types of their implementations/extensions also have to be declared. Is there a version of the java.inc file that takes this into account for PHP 8.1 compatibility, or do you recommend that the file be manually changed, or another course of action? Thank you! |
From: <php...@li...> - 2021-01-22 03:43:01
|
Hi Sandro, The main engineering team is in California USA. We also have a team in Pune India that would be helping test this project. Thanks for your interest -- please contact me at wi...@gm... and we can discuss further. Wister Walcott CTO Marin Software On Thu, Jan 21, 2021 at 11:28 AM < php...@li...> wrote: > where is that update, since I can help > > On 21/01/21 2:21, php...@li... wrote: > > We need to upgrade a significant application from PHP 5.2 to 5.3 or > later. > > PHPjavabridge needs to come along with. We're looking to contract with > > somebody with good knowledge of javabridge and PHP who can assist us with > > the upgrade? > > > > thank you > > > -- > Sandro Makaviel F. > Internet Moncad@'S System > > El contenido de este correo electrónico contiene datos confidenciales y > está destinado exclusivamente al destinatario especificado. > Si recibió este correo electrónico por error, no debe usar el contenido de > este correo electrónico, o puede abrir archivos en el archivo adjunto o > copiar o compartir información. > Nos gustaría señalar que la comunicación por correo electrónico a través > de Internet es incierta, porque para terceros no autorizados siempre existe > la posibilidad de notificación y manipulación. Las comunicaciones > telefónicas sin confirmación por escrito no son legalmente vinculantes. > > > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > -- Wister Walcott mobile 415-867-6799 |
From: <php...@li...> - 2021-01-21 19:28:27
|
where is that update, since I can help On 21/01/21 2:21, php...@li... wrote: > We need to upgrade a significant application from PHP 5.2 to 5.3 or later. > PHPjavabridge needs to come along with. We're looking to contract with > somebody with good knowledge of javabridge and PHP who can assist us with > the upgrade? > > thank you -- Sandro Makaviel F. Internet Moncad@'S System El contenido de este correo electrónico contiene datos confidenciales y está destinado exclusivamente al destinatario especificado. Si recibió este correo electrónico por error, no debe usar el contenido de este correo electrónico, o puede abrir archivos en el archivo adjunto o copiar o compartir información. Nos gustaría señalar que la comunicación por correo electrónico a través de Internet es incierta, porque para terceros no autorizados siempre existe la posibilidad de notificación y manipulación. Las comunicaciones telefónicas sin confirmación por escrito no son legalmente vinculantes. |
From: <php...@li...> - 2021-01-21 08:21:44
|
We need to upgrade a significant application from PHP 5.2 to 5.3 or later. PHPjavabridge needs to come along with. We're looking to contract with somebody with good knowledge of javabridge and PHP who can assist us with the upgrade? thank you |
From: <php...@li...> - 2021-01-17 10:39:36
|
LHi I'm Sagnik Ganguly, I've installed PHP/Java Bridge in Tomcat 9 on Windows with PHP 7.4. But the problem is that I can't set the output buffering or it's not working as the php.ini property output_buffering is set to 4096 and it's working on Apache HTTPD but in Tomcat the response is displayed only after the entire body is loaded instead of displaying the loaded content. May I know how can I fix it? |
From: <php...@li...> - 2021-01-17 10:36:31
|
Hi I'm Sagnik Ganguly, I've installed PHP/Java Bridge in Tomcat 9 on Windows with PHP 7.4. But the problem is that I can't set the output buffering or it's not working as the php.ini property output_buffering is set to 4096 and it's working on Apache HTTPD but in Tomcat the response is displayed only after the entire body is loaded instead of displaying the loaded content. May I know how can I fix it? |
Your setting doesn't allow url include.Just #include a local java.inc from your include_path and #define the apropriate values for host and port *before* #including java.inc -------- Ursprüngliche Nachricht --------Von: php...@li... Datum: 03.09.20 12:25 (GMT+01:00) An: php...@li... Cc: Arisyi Zimah <ar...@dx...> Betreff: [Php-java-bridge-users] Fatal error: require_once(): Failed opening required 'http://localhost:8080/JavaBridge/java/Java.inc' after force pick using port 8080 in standalone class and tcpsocketserverclass Dear, php-java-bridge-usersi have some question.i have try to ask in stackoverflow forum focus on php-java-bridge. here mylink in stackoverflow for the questionhttps://stackoverflow.com/questions/63681319/failed-to-open-stream-http-request-failed-using-phpjavabridgehttps://stackoverflow.com/questions/63590132/require-once-failed-opening-required-on-javabridgebut i don't get the fix result my problemmy problem is failed to open strem : http request failed php javabridgeWarning: require_once(http://localhost:8080/JavaBridge/java/Java.inc):failed to open stream: HTTP request failed! in/Library/WebServer/Documents/test2.php on line 3Fatal error: require_once(): Failed opening required'http://localhost:8080/JavaBridge/java/Java.inc' (include_path='.:')in /Library/WebServer/Documents/test2.php on line 3my tomcat has running at port 8080. i use force to use port 8080 but istill got errorhere my standalone class for java bridgehere my standalone class//// Decompiled by Procyon v0.5.36//package php.java.bridge;import php.java.bridge.util.Thread;import java.lang.reflect.Method;import php.java.bridge.http.JavaBridgeRunner;import php.java.bridge.util.Logger;import java.io.File;import javax.swing.Icon;import java.awt.Component;import javax.swing.JOptionPane;import java.net.ServerSocket;import java.io.IOException;import php.java.bridge.http.TCPServerSocket;import php.java.bridge.http.ISocketFactory;public class Standalone{ public static final int HTTP_PORT_BASE = 8080; public static final int HTTPS_PORT_BASE = 8443; public static ISocketFactory bind(final int logLevel, final Stringsockname) throws IOException { ISocketFactory socket = null; socket = TCPServerSocket.create(sockname, 20); if (null == socket) { throw new IOException("Could not create socket: " + sockname); } return socket; } protected static void disclaimer() { System.err.println("Copyright (C) 2003, 2006 Jost Boekemeierand others."); System.err.println("This is free software; see the source forcopying conditions. There is NO"); System.err.println("warranty; not even for MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE."); } protected void javaUsage() { System.err.println("PHP/Java Bridge version " + Util.VERSION); disclaimer(); System.err.println("Usage: java -jar JavaBridge.jar[SOCKETNAME LOGLEVEL LOGFILE]"); System.err.println("SOCKETNAME is one of INET_LOCAL, INET,HTTP_LOCAL, HTTP, HTTPS_LOCAL, HTTPS"); System.err.println(""); System.err.println("Example 1: java -jar JavaBridge.jar"); System.err.println("Example 2: java -jar JavaBridge.jarHTTP_LOCAL:8080 3 JavaBridge.log"); System.err.println("Example 3: java-Djavax.net.ssl.keyStore=mySrvKeystore-Djavax.net.ssl.keyStorePassword=YOURPASSWD -jar JavaBridge.jarHTTPS:8443 3 JavaBridge.log"); System.err.println("The certificate for example 3 can becreated with e.g.: jdk1.6.0/bin/keytool -keystore mySrvKeystore-genkey -keyalg RSA"); System.err.println(""); System.err.println("Influential system properties: threads,daemon, php_exec, default_log_file, default_log_level, base."); System.err.println("Example: java -Djava.awt.headless=\"true\"-Dphp.java.bridge.threads=50-Dphp.java.bridge.base=/usr/lib/php/modules-Dphp.java.bridge.php_exec=/usr/local/bin/php-cgi-Dphp.java.bridge.default_log_file=-Dphp.java.bridge.default_log_level=5 -jar JavaBridge.jar"); System.err.println("Example: java-Dphp.java.bridge.daemon=\"true\" -jar JavaBridge.jar"); } protected void usage() { this.javaUsage(); System.exit(1); } protected void checkOption(final String[] s) { if ("--version".equals(s[0])) { System.out.println(Util.VERSION); System.exit(0); } this.usage(); } private static boolean testPort(final int port) { try { final ServerSocket sock = new ServerSocket(port); sock.close(); return true; } catch (IOException ex) { return false; } } private static int findFreePort(final int start) { for (int port = start; port < start + 100; ++port) { if (testPort(port)) { return port; } } return start; } public void init(final String[] s) { String sockname = null; int logLevel = -1; // final String tcpSocketName = "9267"; final String tcpSocketName = "8080"; if (s.length > 3) { this.checkOption(s); } try { if (s.length > 0) { sockname = s[0]; if (sockname.startsWith("-")) { this.checkOption(s); } } try { if (s.length > 1) { logLevel = Integer.parseInt(s[1]); } } catch (NumberFormatException e2) { this.usage(); } catch (Throwable t) { t.printStackTrace(); } if (s.length == 0) { try { /* final int tcpSocket = Integer.parseInt(tcpSocketName); final int freeJavaPort = findFreePort(tcpSocket); final int freeHttpPort = findFreePort(8080); final int freeHttpsPort = findFreePort(8443); final Object result =JOptionPane.showInputDialog(null, "Start a socket listener on port","Starting the PHP/Java Bridge ...", 3, null, new String[] {"INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" +freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort,"HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort); //final Object result = 8080; if (result == null) { System.exit(0); }*/ //sockname = result.toString(); sockname = "8080"; } catch (Throwable t2) {} } if (s.length == 0) { TCPServerSocket.TCP_PORT_BASE = Integer.parseInt(tcpSocketName); } if (checkServlet(logLevel, sockname, s)) { return; } final ISocketFactory socket = bind(logLevel, sockname); if ("true".equals(System.getProperty("php.java.bridge.test.startup"))){ System.exit(0); } JavaBridge.initLog(String.valueOf(socket), logLevel, s); JavaBridge.init(socket, logLevel, s); } catch (Exception e) { throw new RuntimeException(e); } } public static File getCanonicalWindowsFile(final String path) { try { return new File(path).getCanonicalFile(); } catch (IOException e) { return new File(path); } } private static boolean checkServlet(final int logLevel, Stringsockname, final String[] s) throws InterruptedException, IOException { if (sockname == null) { return false; } if (sockname.startsWith("SERVLET_LOCAL:") ||sockname.startsWith("HTTP_LOCAL:") ||sockname.startsWith("HTTPS_LOCAL:")) { Util.JAVABRIDGE_PROMISCUOUS = false; System.setProperty("php.java.bridge.promiscuous", "false"); } else { if (!sockname.startsWith("SERVLET:") &&!sockname.startsWith("HTTP:") && !sockname.startsWith("HTTPS:")) { return false; } Util.JAVABRIDGE_PROMISCUOUS = true; System.setProperty("php.java.bridge.promiscuous", "true"); } final boolean isSecure = sockname.startsWith("HTTPS"); JavaBridge.initLog(sockname, logLevel, s); sockname = sockname.substring(sockname.indexOf(58) + 1); final String serverPort = (Util.JAVABRIDGE_PROMISCUOUS ?"INET:" : "INET_LOCAL:") + sockname; Logger.logMessage("JavaBridgeRunner started on port " + serverPort); Class runner = JavaBridgeRunner.class; JavaBridgeRunner r; try { runner =Util.classForName("php.java.script.JavaBridgeScriptRunner"); final Method m = runner.getMethod("getRequiredInstance",String.class, Boolean.TYPE); r = (JavaBridgeRunner)m.invoke(runner, serverPort, newBoolean(isSecure)); } catch (Throwable e) { r = JavaBridgeRunner.getRequiredInstance(serverPort, isSecure); } r.waitFor(); r.destroy(); return true; } private static final boolean checkGNUVM() { try { return"libgcj".equals(System.getProperty("gnu.classpath.vm.shortname")); } catch (Throwable t) { return false; } } public static void main(final String[] s) { if (!System.getProperty("php.java.bridge.daemon","false").equals("false")) { final String[] args = new String[s.length + 8]; args[0] = System.getProperty("php.java.bridge.daemon"); if ("true".equals(args[0])) { args[0] = "java"; } args[1] = "-Djava.library.path=" +System.getProperty("java.library.path", "."); args[2] = "-Djava.ext.dirs=" +System.getProperty("java.ext.dirs", "."); args[3] = "-Djava.awt.headless=" +System.getProperty("java.awt.headless", "true"); args[4] = "-Dphp.java.bridge.asDaemon=true"; args[5] = "-classpath"; args[6] = System.getProperty("java.class.path", "."); args[7] = "php.java.bridge.Standalone"; for (int j = 0; j < s.length; ++j) { args[j + 8] = s[j]; } try { System.in.close(); System.out.close(); System.err.close(); } catch (IOException e) { System.exit(12); } new Thread(new Runnable() { @Override public void run() { try { Runtime.getRuntime().exec(args); } catch (IOException e) { System.exit(13); } } }).start(); try { java.lang.Thread.sleep(20000L); } catch (Throwable t2) {} System.exit(0); } try { System.loadLibrary("natcJavaBridge"); } catch (Throwable t3) {} try { final String cp = System.getProperty("java.class.path", "."); File jbFile = null; final boolean isExecutableJavaBridgeJar =cp.indexOf(File.pathSeparatorChar) == -1 &&cp.endsWith("JavaBridge.jar") && (jbFile = new File(cp)).isAbsolute(); final File wd =getCanonicalWindowsFile(isExecutableJavaBridgeJar ? jbFile.getParent(): ""); final boolean sunJavaInstalled = newFile("/usr/java/default/bin/java").exists(); final String javaExec = sunJavaInstalled ?"/usr/java/default/bin/java" : "java"; if (s.length == 0 &&System.getProperty("php.java.bridge.exec_sun_vm","true").equals("true") && ((sunJavaInstalled && checkGNUVM()) ||isExecutableJavaBridgeJar)) { final Process p = Runtime.getRuntime().exec(newString[] { javaExec, "-Dphp.java.bridge.exec_sun_vm=false","-classpath", cp, "php.java.bridge.Standalone" }, null, wd); if (p != null) { System.exit(p.waitFor()); } } } catch (Throwable t4) {} try { new Standalone().init(s); } catch (Throwable t) { t.printStackTrace(); System.exit(9); } }}in this code i have force using 8080 use this code try { /* final int tcpSocket = Integer.parseInt(tcpSocketName); final int freeJavaPort = findFreePort(tcpSocket); final int freeHttpPort = findFreePort(8080); final int freeHttpsPort = findFreePort(8443); final Object result =JOptionPane.showInputDialog(null, "Start a socket listener on port","Starting the PHP/Java Bridge ...", 3, null, new String[] {"INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" +freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort,"HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort); //final Object result = 8080; if (result == null) { System.exit(0); }*/ //sockname = result.toString(); sockname = "8080"; }this run well there is no error herei have also change inet port in my tcpsocketserver from 9267 become 8080and this is for my tcpsocketserver class//// Decompiled by Procyon v0.5.36//package php.java.bridge.http;import java.net.Socket;import java.net.UnknownHostException;import java.net.InetAddress;import java.io.IOException;import java.net.ServerSocket;public class TCPServerSocket implements ISocketFactory{ public static int TCP_PORT_BASE; private ServerSocket sock; private int port; boolean local; public static ISocketFactory create(String name, final intbacklog) throws IOException { boolean local = false; if (name == null) { throw new NullPointerException("name"); } if (name.startsWith("INET:")) { name = name.substring(5); } else if (name.startsWith("INET_LOCAL:")) { local = true; name = name.substring(11); } final int p = Integer.parseInt(name); final TCPServerSocket s = new TCPServerSocket(p, backlog, local); return s; } private ServerSocket newServerSocket(final int port, final intbacklog) throws IOException { try { if (this.local) { return new ServerSocket(port, backlog,InetAddress.getByName("127.0.0.1")); } } catch (UnknownHostException ex) {} return new ServerSocket(port, backlog); } private void findFreePort(final int start, final int backlog) { int port = start; while (port < start + 100) { try { this.sock = this.newServerSocket(port, backlog); this.port = port; return; } catch (IOException e) { ++port; continue; } } } private TCPServerSocket(final int port, final int backlog, finalboolean local) throws IOException { this.local = local; if (port == 0) { this.findFreePort(TCPServerSocket.TCP_PORT_BASE, backlog); } else { this.sock = this.newServerSocket(port, backlog); this.port = port; } } @Override public void close() throws IOException { this.sock.close(); } @Override public Socket accept() throws IOException { final Socket s = this.sock.accept(); s.setTcpNoDelay(true); return s; } @Override public String getSocketName() { return String.valueOf(this.port); } @Override public String toString() { return (this.local ? "INET_LOCAL:" : "INET:") + this.getSocketName(); } static { // TCPServerSocket.TCP_PORT_BASE = 9267; TCPServerSocket.TCP_PORT_BASE = 8080; }}but still cannot hit my javabridge port while my tomcat have run use 8080can someone help me for fix it ?regards,Fuad_______________________________________________php-java-bridge-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
Dear, php-java-bridge-users i have some question. i have try to ask in stackoverflow forum focus on php-java-bridge. here my link in stackoverflow for the question https://stackoverflow.com/questions/63681319/failed-to-open-stream-http-request-failed-using-phpjavabridge https://stackoverflow.com/questions/63590132/require-once-failed-opening-required-on-javabridge but i don't get the fix result my problem my problem is failed to open strem : http request failed php javabridge Warning: require_once(http://localhost:8080/JavaBridge/java/Java.inc): failed to open stream: HTTP request failed! in /Library/WebServer/Documents/test2.php on line 3 Fatal error: require_once(): Failed opening required 'http://localhost:8080/JavaBridge/java/Java.inc' (include_path='.:') in /Library/WebServer/Documents/test2.php on line 3 my tomcat has running at port 8080. i use force to use port 8080 but i still got error here my standalone class for java bridge here my standalone class // // Decompiled by Procyon v0.5.36 // package php.java.bridge; import php.java.bridge.util.Thread; import java.lang.reflect.Method; import php.java.bridge.http.JavaBridgeRunner; import php.java.bridge.util.Logger; import java.io.File; import javax.swing.Icon; import java.awt.Component; import javax.swing.JOptionPane; import java.net.ServerSocket; import java.io.IOException; import php.java.bridge.http.TCPServerSocket; import php.java.bridge.http.ISocketFactory; public class Standalone { public static final int HTTP_PORT_BASE = 8080; public static final int HTTPS_PORT_BASE = 8443; public static ISocketFactory bind(final int logLevel, final String sockname) throws IOException { ISocketFactory socket = null; socket = TCPServerSocket.create(sockname, 20); if (null == socket) { throw new IOException("Could not create socket: " + sockname); } return socket; } protected static void disclaimer() { System.err.println("Copyright (C) 2003, 2006 Jost Boekemeier and others."); System.err.println("This is free software; see the source for copying conditions. There is NO"); System.err.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."); } protected void javaUsage() { System.err.println("PHP/Java Bridge version " + Util.VERSION); disclaimer(); System.err.println("Usage: java -jar JavaBridge.jar [SOCKETNAME LOGLEVEL LOGFILE]"); System.err.println("SOCKETNAME is one of INET_LOCAL, INET, HTTP_LOCAL, HTTP, HTTPS_LOCAL, HTTPS"); System.err.println(""); System.err.println("Example 1: java -jar JavaBridge.jar"); System.err.println("Example 2: java -jar JavaBridge.jar HTTP_LOCAL:8080 3 JavaBridge.log"); System.err.println("Example 3: java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=YOURPASSWD -jar JavaBridge.jar HTTPS:8443 3 JavaBridge.log"); System.err.println("The certificate for example 3 can be created with e.g.: jdk1.6.0/bin/keytool -keystore mySrvKeystore -genkey -keyalg RSA"); System.err.println(""); System.err.println("Influential system properties: threads, daemon, php_exec, default_log_file, default_log_level, base."); System.err.println("Example: java -Djava.awt.headless=\"true\" -Dphp.java.bridge.threads=50 -Dphp.java.bridge.base=/usr/lib/php/modules -Dphp.java.bridge.php_exec=/usr/local/bin/php-cgi -Dphp.java.bridge.default_log_file= -Dphp.java.bridge.default_log_level=5 -jar JavaBridge.jar"); System.err.println("Example: java -Dphp.java.bridge.daemon=\"true\" -jar JavaBridge.jar"); } protected void usage() { this.javaUsage(); System.exit(1); } protected void checkOption(final String[] s) { if ("--version".equals(s[0])) { System.out.println(Util.VERSION); System.exit(0); } this.usage(); } private static boolean testPort(final int port) { try { final ServerSocket sock = new ServerSocket(port); sock.close(); return true; } catch (IOException ex) { return false; } } private static int findFreePort(final int start) { for (int port = start; port < start + 100; ++port) { if (testPort(port)) { return port; } } return start; } public void init(final String[] s) { String sockname = null; int logLevel = -1; // final String tcpSocketName = "9267"; final String tcpSocketName = "8080"; if (s.length > 3) { this.checkOption(s); } try { if (s.length > 0) { sockname = s[0]; if (sockname.startsWith("-")) { this.checkOption(s); } } try { if (s.length > 1) { logLevel = Integer.parseInt(s[1]); } } catch (NumberFormatException e2) { this.usage(); } catch (Throwable t) { t.printStackTrace(); } if (s.length == 0) { try { /* final int tcpSocket = Integer.parseInt(tcpSocketName); final int freeJavaPort = findFreePort(tcpSocket); final int freeHttpPort = findFreePort(8080); final int freeHttpsPort = findFreePort(8443); final Object result = JOptionPane.showInputDialog(null, "Start a socket listener on port", "Starting the PHP/Java Bridge ...", 3, null, new String[] { "INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" + freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort, "HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort); //final Object result = 8080; if (result == null) { System.exit(0); }*/ //sockname = result.toString(); sockname = "8080"; } catch (Throwable t2) {} } if (s.length == 0) { TCPServerSocket.TCP_PORT_BASE = Integer.parseInt(tcpSocketName); } if (checkServlet(logLevel, sockname, s)) { return; } final ISocketFactory socket = bind(logLevel, sockname); if ("true".equals(System.getProperty("php.java.bridge.test.startup"))) { System.exit(0); } JavaBridge.initLog(String.valueOf(socket), logLevel, s); JavaBridge.init(socket, logLevel, s); } catch (Exception e) { throw new RuntimeException(e); } } public static File getCanonicalWindowsFile(final String path) { try { return new File(path).getCanonicalFile(); } catch (IOException e) { return new File(path); } } private static boolean checkServlet(final int logLevel, String sockname, final String[] s) throws InterruptedException, IOException { if (sockname == null) { return false; } if (sockname.startsWith("SERVLET_LOCAL:") || sockname.startsWith("HTTP_LOCAL:") || sockname.startsWith("HTTPS_LOCAL:")) { Util.JAVABRIDGE_PROMISCUOUS = false; System.setProperty("php.java.bridge.promiscuous", "false"); } else { if (!sockname.startsWith("SERVLET:") && !sockname.startsWith("HTTP:") && !sockname.startsWith("HTTPS:")) { return false; } Util.JAVABRIDGE_PROMISCUOUS = true; System.setProperty("php.java.bridge.promiscuous", "true"); } final boolean isSecure = sockname.startsWith("HTTPS"); JavaBridge.initLog(sockname, logLevel, s); sockname = sockname.substring(sockname.indexOf(58) + 1); final String serverPort = (Util.JAVABRIDGE_PROMISCUOUS ? "INET:" : "INET_LOCAL:") + sockname; Logger.logMessage("JavaBridgeRunner started on port " + serverPort); Class runner = JavaBridgeRunner.class; JavaBridgeRunner r; try { runner = Util.classForName("php.java.script.JavaBridgeScriptRunner"); final Method m = runner.getMethod("getRequiredInstance", String.class, Boolean.TYPE); r = (JavaBridgeRunner)m.invoke(runner, serverPort, new Boolean(isSecure)); } catch (Throwable e) { r = JavaBridgeRunner.getRequiredInstance(serverPort, isSecure); } r.waitFor(); r.destroy(); return true; } private static final boolean checkGNUVM() { try { return "libgcj".equals(System.getProperty("gnu.classpath.vm.shortname")); } catch (Throwable t) { return false; } } public static void main(final String[] s) { if (!System.getProperty("php.java.bridge.daemon", "false").equals("false")) { final String[] args = new String[s.length + 8]; args[0] = System.getProperty("php.java.bridge.daemon"); if ("true".equals(args[0])) { args[0] = "java"; } args[1] = "-Djava.library.path=" + System.getProperty("java.library.path", "."); args[2] = "-Djava.ext.dirs=" + System.getProperty("java.ext.dirs", "."); args[3] = "-Djava.awt.headless=" + System.getProperty("java.awt.headless", "true"); args[4] = "-Dphp.java.bridge.asDaemon=true"; args[5] = "-classpath"; args[6] = System.getProperty("java.class.path", "."); args[7] = "php.java.bridge.Standalone"; for (int j = 0; j < s.length; ++j) { args[j + 8] = s[j]; } try { System.in.close(); System.out.close(); System.err.close(); } catch (IOException e) { System.exit(12); } new Thread(new Runnable() { @Override public void run() { try { Runtime.getRuntime().exec(args); } catch (IOException e) { System.exit(13); } } }).start(); try { java.lang.Thread.sleep(20000L); } catch (Throwable t2) {} System.exit(0); } try { System.loadLibrary("natcJavaBridge"); } catch (Throwable t3) {} try { final String cp = System.getProperty("java.class.path", "."); File jbFile = null; final boolean isExecutableJavaBridgeJar = cp.indexOf(File.pathSeparatorChar) == -1 && cp.endsWith("JavaBridge.jar") && (jbFile = new File(cp)).isAbsolute(); final File wd = getCanonicalWindowsFile(isExecutableJavaBridgeJar ? jbFile.getParent() : ""); final boolean sunJavaInstalled = new File("/usr/java/default/bin/java").exists(); final String javaExec = sunJavaInstalled ? "/usr/java/default/bin/java" : "java"; if (s.length == 0 && System.getProperty("php.java.bridge.exec_sun_vm", "true").equals("true") && ((sunJavaInstalled && checkGNUVM()) || isExecutableJavaBridgeJar)) { final Process p = Runtime.getRuntime().exec(new String[] { javaExec, "-Dphp.java.bridge.exec_sun_vm=false", "-classpath", cp, "php.java.bridge.Standalone" }, null, wd); if (p != null) { System.exit(p.waitFor()); } } } catch (Throwable t4) {} try { new Standalone().init(s); } catch (Throwable t) { t.printStackTrace(); System.exit(9); } } } in this code i have force using 8080 use this code try { /* final int tcpSocket = Integer.parseInt(tcpSocketName); final int freeJavaPort = findFreePort(tcpSocket); final int freeHttpPort = findFreePort(8080); final int freeHttpsPort = findFreePort(8443); final Object result = JOptionPane.showInputDialog(null, "Start a socket listener on port", "Starting the PHP/Java Bridge ...", 3, null, new String[] { "INET_LOCAL:" + freeJavaPort, "INET:" + freeJavaPort, "HTTP_LOCAL:" + freeHttpPort, "HTTP:" + freeHttpPort, "HTTPS_LOCAL:" + freeHttpsPort, "HTTPS:" + freeHttpsPort }, "HTTP_LOCAL:" + freeHttpPort); //final Object result = 8080; if (result == null) { System.exit(0); }*/ //sockname = result.toString(); sockname = "8080"; } this run well there is no error here i have also change inet port in my tcpsocketserver from 9267 become 8080 and this is for my tcpsocketserver class // // Decompiled by Procyon v0.5.36 // package php.java.bridge.http; import java.net.Socket; import java.net.UnknownHostException; import java.net.InetAddress; import java.io.IOException; import java.net.ServerSocket; public class TCPServerSocket implements ISocketFactory { public static int TCP_PORT_BASE; private ServerSocket sock; private int port; boolean local; public static ISocketFactory create(String name, final int backlog) throws IOException { boolean local = false; if (name == null) { throw new NullPointerException("name"); } if (name.startsWith("INET:")) { name = name.substring(5); } else if (name.startsWith("INET_LOCAL:")) { local = true; name = name.substring(11); } final int p = Integer.parseInt(name); final TCPServerSocket s = new TCPServerSocket(p, backlog, local); return s; } private ServerSocket newServerSocket(final int port, final int backlog) throws IOException { try { if (this.local) { return new ServerSocket(port, backlog, InetAddress.getByName("127.0.0.1")); } } catch (UnknownHostException ex) {} return new ServerSocket(port, backlog); } private void findFreePort(final int start, final int backlog) { int port = start; while (port < start + 100) { try { this.sock = this.newServerSocket(port, backlog); this.port = port; return; } catch (IOException e) { ++port; continue; } } } private TCPServerSocket(final int port, final int backlog, final boolean local) throws IOException { this.local = local; if (port == 0) { this.findFreePort(TCPServerSocket.TCP_PORT_BASE, backlog); } else { this.sock = this.newServerSocket(port, backlog); this.port = port; } } @Override public void close() throws IOException { this.sock.close(); } @Override public Socket accept() throws IOException { final Socket s = this.sock.accept(); s.setTcpNoDelay(true); return s; } @Override public String getSocketName() { return String.valueOf(this.port); } @Override public String toString() { return (this.local ? "INET_LOCAL:" : "INET:") + this.getSocketName(); } static { // TCPServerSocket.TCP_PORT_BASE = 9267; TCPServerSocket.TCP_PORT_BASE = 8080; } } but still cannot hit my javabridge port while my tomcat have run use 8080 can someone help me for fix it ? regards, Fuad |
From: <php...@li...> - 2020-02-27 11:52:02
|
Hi, Don't know for fo openjdk 13 (last time I tried was with 10 or something like this), but I think tomcat 9 should work. I'm not using the Java.inc anymore but switched to https://github.com/belgattitude/soluble-japha (fork) at some point, depending on your case, always good to have a look. I also did a connector https://github.com/belgattitude/soluble-japha-pjb62-compat for compatibility, but not used it long enough to know if it's production proof. On Thu, Feb 27, 2020 at 6:27 AM php-java-bridge-users--- via php-java-bridge-users <php...@li...> wrote: > > Hi > I am migrating out php/html/mysql application from PHP 5.2.5 to PHP > 7.0.33..I have downloaded the latest version (7.2.1) of javabridge and > Tomcat 9.0.31..Earlier version I was using was Tomcat 6.0. > I am calling the java jar classes (java 8) from php. The current java > version installed is openjdk 13. > Here is the code and the error I am getting.. Please advise whether I > revert Tomcat/javabridge to older versions or anyway to solve this > error...I have tried internet /Faq but did not find anything which worked. > The javabridge installation is working as per the javabridge website. I am > able to get the properties.<?php require_once("java/Java.inc"); > echo java("java.lang.System")->getProperties(); ?> > > > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > |
From: <php...@li...> - 2020-02-27 05:27:40
|
Hi I am migrating out php/html/mysql application from PHP 5.2.5 to PHP 7.0.33..I have downloaded the latest version (7.2.1) of javabridge and Tomcat 9.0.31..Earlier version I was using was Tomcat 6.0. I am calling the java jar classes (java 8) from php. The current java version installed is openjdk 13. Here is the code and the error I am getting.. Please advise whether I revert Tomcat/javabridge to older versions or anyway to solve this error...I have tried internet /Faq but did not find anything which worked. The javabridge installation is working as per the javabridge website. I am able to get the properties.<?php require_once("java/Java.inc"); echo java("java.lang.System")->getProperties(); ?> |
From: <php...@li...> - 2019-08-14 17:14:41
|
I had no issue using the bridge with Tomcat 7 but I am required to use Tomcat 8 for my current project. I am setting it up now and am just making sure that it will work. Are there any changes that are necessary to use this with Tomcat 8? I heard of people having difficulty with it but I must have this working. Thanks |
From: <php...@li...> - 2019-07-26 08:32:56
|
Dear all I'm looking since a few days for a solution for my JavaBridge Problem. I do receive the following error in different distances. So it is not always and it needs some refreshes to produce this issue. First I thought there is a problem with the PHP script but then I tested it with a complete blank PHP file and with a simple phpinfo() and I receive that issue too. I would guess something in the JavaBridge configuration is wrong. If anyone has an idea, I would be very thankful. regards Andy HTTP Status 500 - type Exception report message description The server encountered an internal error that prevented it from fulfilling this request. exception php.java.fastcgi.ConnectionException php.java.fastcgi.FCGIOutputStream.flush(FCGIOutputStream.java:186) php.java.fastcgi.FCGIOutputStream.close(FCGIOutputStream.java:178) php.java.servlet.fastcgi.FastCGIServlet.writePostData(FastCGIServlet.java:459) php.java.servlet.fastcgi.FastCGIServlet.doExecute(FastCGIServlet.java:418) php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:516) php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:527) php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:555) javax.servlet.http.HttpServlet.service(HttpServlet.java:620) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) root cause java.net.SocketException: Connection reset by peer: socket write error java.net.SocketOutputStream.socketWrite0(Native Method) java.net.SocketOutputStream.socketWrite(Unknown Source) java.net.SocketOutputStream.write(Unknown Source) java.io.BufferedOutputStream.flushBuffer(Unknown Source) java.io.BufferedOutputStream.flush(Unknown Source) php.java.fastcgi.FCGIOutputStream.flush(FCGIOutputStream.java:184) php.java.fastcgi.FCGIOutputStream.close(FCGIOutputStream.java:178) php.java.servlet.fastcgi.FastCGIServlet.writePostData(FastCGIServlet.java:459) php.java.servlet.fastcgi.FastCGIServlet.doExecute(FastCGIServlet.java:418) php.java.servlet.fastcgi.FastCGIServlet.execute(FastCGIServlet.java:516) php.java.servlet.fastcgi.FastCGIServlet.handle(FastCGIServlet.java:527) php.java.servlet.fastcgi.FastCGIServlet.doGet(FastCGIServlet.java:555) javax.servlet.http.HttpServlet.service(HttpServlet.java:620) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.54 logs. Apache Tomcat/7.0.54 |
From: <php...@li...> - 2019-02-26 16:10:44
|
We are experiencing an issue with upgrade to php 7.3 some Java call (methods call on some classes) seems not to work anymore. Downgrading to 7.1 fix the issue. I'm using latest Java.inc e JavaBridge.jar. No exceptions or errors are logged. Anybody are using php 7.3 with phpjavabridge? Regards. Dario |
From: <php...@li...> - 2018-06-15 16:55:46
|
Sirs, I have the php-java bridge installed and can view custom web pages when viewing http://localhost:8080/aaa.php when using IE on the local machine. However, I can't view that same page from other hosts. Is that due to the JAVA_HOSTS in one of the .ini files, or something else? Thank you, Wendell |
From: <php...@li...> - 2018-06-14 11:41:57
|
I am trying to install JAVA Bridge on centOS 7 I have installed tomcat 7.. when I tried to run JavaBridgeTemplate721 it shows me this : java.io.IOException: PHP not found. Please install php-cgi. PHP test command was: [/usr/share/tomcat/webapps/JavaBridgeTemplate721/WEB-INF/cgi/amd64-linux/php-cgi, -v] php.java.fastcgi.FCGIProcess.start(FCGIProcess.java:399) php.java.fastcgi.SocketFactory.doBind(SocketFactory.java:140) php.java.fastcgi.FCGIFactory.runFcgi(FCGIFactory.java:146) php.java.fastcgi.FCGIFactory$1.run(FCGIFactory.java:169) How I can install php-cgi on CentOS |
From: <php...@li...> - 2018-06-02 21:57:24
|
Hello, > When I type "java -jar JavaBridgeTemplate721.war" [...] Please RTFM. Thank you. -> http://php-java-bridge.sf.net |
From: <php...@li...> - 2018-05-21 12:29:01
|
Hello, I am upgrading my server and implementing more security layers. I have an application in PHP calling JAVA code and I am unable to properly install JavaBridge. When I type "java -jar JavaBridgeTemplate721.war", I get the error "no main manifest attribute, in JavaBridgeTemplate721.war". My "MANIFEST.MF" file only contains: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.10.1 Created-By: 1.8.0_151-b12 (Oracle Corporation) Here is my setup: - Ubuntu 18.04 - Java: openjdk-8-jdk (8u171-b11-0ubuntu0.18.04.1) - Apache Tomcat: Apache Tomcat/8.5.31 My php application is located outside the Tomcat server, therefore I copied jars from the JavaBridge to Tomcat lib folder ($CATALINA_HOME/lib) $JAVA_HOME & $CATALINA_HOME are defined in the /etc/environment and are part of $PATH variable: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin:$ CATALINA_HOME/bin:$CATALINA_HOME/lib" Any help will be appreciated! |
From: <php...@li...> - 2018-02-12 18:47:06
|
Hi Peter, you're right. The bridge wastes a few CPU cycles to find the channel for all further communication. Your patch uses a hard coded value (9267). It might work for you, but it will not work in general. In order to find the channel to redirect further communication to, PHP needs to retrieve the "redirect" information from the back end. At the moment the bridge uses a PUT request to the servlet engine HTTP port. If you think this is too slow, please feel free to submit a patch. Although it *is* possible to hard code the redirect channel name in Java.inc, I think it is better to calculate it dynamically. The use case is: User deploys JavaBridge.war, copies the generated directory (and with it the generated Java.inc with the channel name @9268) to apache htdocs. User re-deploys JavaBridge.war while port 9268 is in use by some other application (probably some other JavaBridge instance). Channel name of the back end is now @9269, while apache still uses @9268 hard coded in Java.inc. User gets an error and we get a support request. And I don't like support requests... Regards, Jost Bökemeier |
From: <php...@li...> - 2018-02-11 14:23:16
|
Hi, I have a Apache/PHP front end and a tomcat back end. There ~50 PHP processes in the pool and each of it has a persistent connection to a Java thread running from the PHP/Java Bridge. I've noticed that each time a php/java script is executed, the bridge sends a PUT request to tomcat, even though the php process has a persistent connection to a java thread. I think this PUT request is unnecessary, unless a PHP process doesn't have persistent connection yet or it needs to get a session handle from the back end. The following patch adds an attribute "allocateJavaSession" to class java_Client. It is set if java_session() is called. If the bridge needs to connect to the back end, it knows if it needs to allocate a session. If no session is requested, it can check if a persistent connection to 9267 exists and can be re-used. If so, it re-directs to the persistent connection using some fake JAVABRIDGE_CONTEXT. (My understanding is that the context is only useful while re-directing from the servlet to the java thread). So in the regular case no socket connect is necessary anymore. PHP can send data right away and receive the results using the connection it already has: function java_session_array($args) { $client=__javaproxy_Client_getClient(); + $client->allocateJavaSession=true; if(!isset($args[0])) $args[0]=null; ... $this->serverName="${ssl}${host}:$port"; + if (!$this->client->allocateJavaSession) { + $errno=null; $errstr=null; + $sock=@pfsockopen($host,"9267",$errno,$errstr,5); + if ($sock && !$errno && ftell($sock)>0) { + $_SERVER['X_JAVABRIDGE_REDIRECT']="9267"; + $_SERVER['X_JAVABRIDGE_CONTEXT']="9267|".microtime(); + } +} The above patch should give a performance boost for all php scripts which don't care about a java_session(), while stay compatible with scripts which need a session. Peter |
From: <php...@li...> - 2018-02-11 13:39:45
|
Thanks very very much ----- Mail d'origine ----- De: php...@li... À: php...@li... Envoyé: Sat, 10 Feb 2018 18:55:06 +0100 (CET) Objet: Re: [Php-java-bridge-users] Find version java -jar JavaBridge.jar --version should display the version number On Saturday, February 10, 2018, <php...@li...> wrote: > Hi, > I need to support an old application based on javabridge. I don't know how > to find the javabridge version used by this application. Does anyone know > how to find the version (command, piece of code)? > Thanks for answers > Michel > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ php-java-bridge-users mailing list php...@li... https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
From: <php...@li...> - 2018-02-10 17:55:15
|
java -jar JavaBridge.jar --version should display the version number On Saturday, February 10, 2018, <php...@li...> wrote: > Hi, > I need to support an old application based on javabridge. I don't know how > to find the javabridge version used by this application. Does anyone know > how to find the version (command, piece of code)? > Thanks for answers > Michel > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > |
From: <php...@li...> - 2018-02-10 09:58:42
|
Hi, I need to support an old application based on javabridge. I don't know how to find the javabridge version used by this application. Does anyone know how to find the version (command, piece of code)? Thanks for answers Michel |
From: <php...@li...> - 2018-01-03 12:06:47
|
Hi, > I'm using the php java bridge and lucene to search for documents. What I'm finding is that any speed gains that I've obtained from > lucene are greatly outweighed by the time it takes to get the java bridge .war (and apache lucene .jar in /lib/) from Tomcat with each > and every browser-based search request umm, what do you mean with this? > I'm thinking of writing a tcp server in php As long as PHP has no GC, a long-running tcp server isn't feasible. You'll have to implement your own garbage collection. But even then, the memory footprint of your tcp server will grow over time. -- That's why the FastCGI server restarts after MAX_REQUESTS. |
From: <php...@li...> - 2018-01-03 11:57:56
|
Hi, [cannot connect / telnet to localhost:9668] > /Applications/MAMP/bin/php/php7.1.8/bin/php-cgi -b 127.0.0.1:9668 . . No idea. It might be that PHP FastCGI SAPI, which has been rewritten in PHP 7 doesn't work on the mac anymore. Please ask one of the PHP devs. As a workaround the PHP/Java Bridge also allows to connect to an external FCGI Server, please see the NEWS for PHP/Java Bridge 7.1.2 for details: https://sourceforge.net/p/php-java-bridge/svnrepo/HEAD/tree/trunk/php-java-bridge/NEWS |