php-java-bridge-5 isn’t available on rhel5!?
php-java-bridge是一个在php和java程序中互相调用的东东
前段时间接开发需求
在rhel5的机器(redhat enterprise linux advance server 5 update 1)上装这么个东东
因为开发需要在php程序里调java的包
于是就去其官网php-java-bridge.sourceforge.net下了个最新版php-java-bridge_5.3.2.1.2.tar.gz
然后安装之
tar xzvf php-java-bridge_5.3.2.1.2.tar.gz
cd php-java-bridge-5.3.2.1.2
/usr/bin/phpize
./configure –with-java=/usr/java/default
make
. install.sh
安装的时候选”no”(没有单独的后台程序服务于java)
装完后
service httpd restart(重起apache)
看java是enabled且状态是running
但实际程序一跑就出错
怎么改都不行
当程序里有”java_require”的时候出错
PHP Fatal error: Call to undefined function java_require() in
而且跑php-java-bridge带的测试程序test.php都出错:
protocol error: , Invalid document end at col 1. Check the back end log for details.PHP Notice: fwrite(): send of 11 bytes failed with errno=32 Broken pipe in /usr/share/pear/java/Java.inc on line 838
java.lang.RuntimeException: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:15596 accept,resolve)
at php.java.bridge.JavaBridge.init(JavaBridge.java:327)
at php.java.bridge.Standalone.init(Standalone.java:211)
at php.java.bridge.Standalone.main(Standalone.java:279)
Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:15596 accept,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkAccept(SecurityManager.java:1157)
at java.net.ServerSocket.implAccept(ServerSocket.java:457)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at php.java.bridge.TCPServerSocket.accept(TCPServerSocket.java:89)
at php.java.bridge.JavaBridge.init(JavaBridge.java:309)
… 2 more
Exception in thread “main” java.lang.SecurityException: exitVM disabled by JavaBridgeSecurityManager.java
at php.java.bridge.JavaBridgeSecurityManager.checkExit(JavaBridgeSecurityManager.java:104)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:906)
at php.java.bridge.Standalone.main(Standalone.java:282)
而且发现网上也很少有人说装php-java-bridge5的
于是想想会不会是版本问题
于是又下了个php-java-bridge4的包php-java-bridge_4.3.3.tar.gz
重新安装
tar xzvf php-java-bridge_4.3.3.tar.gz
cd php-java-bridge-4.3.3
/usr/bin/phpize
./configure –with-java=/usr/java/default
make
. install.sh
/etc/rc.d/init.d/httpd restart
这下再试就没有问题了




