회사의 프로젝트는 Java와 인터페이스할 수 있는 것이 필요하고 웹 서비스를 사용하고 싶지 않았기 때문에 PHP 모듈을 만들었습니다. 오랜 시간 동안 컴파일했지만 여전히 소스 코드를 수정하지 못했습니다. .테스트 후 작동했습니다. 제 설치 기록 사본도 첨부되어 있습니다.
또한 이 작업은 Java를 설치해야 합니다. 최신 버전 1.8
시스템 버전은 centos 7 x64
PHP 5.4.x
http://pan.baidu.com/s/1i47UYl3 버전 패키지 다운로드 주소 osc는 전송을 허용하지 않기 때문에 넣어두었습니다. Baidu 네트워크 디스크에 있습니다.
tar -xzf php-java-bridge-5.4.3.1.new .tar.gz
cd php-java-bridge-5.4.3.1
/usr/local /php/bin/phpize
./configure --disable-servlet --with-java=/usr/ java/jdk1.8.0_91,/usr/java/jdk1.8.0_91/jre --with-php- config=/usr/local/php/bin/php-config
make
make install
/usr/java/jdk1.8.0_91/jre/bin/java -classpath / usr/local/php/lib/php/extensions/no-debug-zts-20100525/JavaBridge.war TestInstallation
이 명령은 부팅 시 시작하는 것이 가장 좋습니다
php.ini 추가됨
Extension=java.so
[java]
;java.hosts = 127.0.0.1:8080
;java.servlet = On ;; Off, On 또는 User
java.log_level = 3
php-fpm apache nginx 다시 시작
复制Java.inc放到网站目录里面调用就OK了 /usr/local/php/lib/php/extensions/no-debug-zts-20100525/java/Java.inc 修改: define ("JAVA_HOSTS", "127.0.0.1:8080"); // define ("JAVA_PERSISTENT_SERVLET_CONNECTIONS", true); // define ("JAVA_PREFER_VALUES", 1); define ("JAVA_DEBUG", false); define ("JAVA_PIPE_DIR", "/data/test/java-tmp"); //这个是缓存文件地址
// http://c.3viso.cn/java.php 这是一个测试小程序 #!/usr/bin/php <?php require_once("Java.inc"); $system=new java("java.lang.System"); print "Java version=".$system->getProperty("java.version")." "; $str=new Java("java.lang.String"); echo $str;