問題タブ [php-java-bridge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - C++とPHPの間の一般的なブリッジ
あらゆるもの、Web UI、数学的処理とモデリング、およびデータベース関連のもののバンドル全体を実行するWebアプリケーション(かなり重いもの)があります。
PHPで発生するプロセスの多くは非常に遅いですが、これは主にPHPが数学的な処理を嫌うためです。
将来的には、これらの遅いプロセスを中断し、より高速なもの、おそらくC ++、またはおそらくJavaで書き直したいと考えています。
PHPにデータを出し入れし、別の言語の環境にデータを取り込む一般的な方法を知っている人はいますか?私はすでに物事をJSONにシリアル化し、それらを/ dev / shmまたはソケットにシャブリングしてから、他の言語にソケットでリッスンさせるか、共有メモリの場所などを調べることを検討しました。
このようなことはネイティブタイプでは問題なく機能しますが、渡されるものの多くが実際にはクラスインスタンスや同様のオブジェクトであると考えると、非常に困難です。
賢明な解決策はわかりませんが、純粋なJavaであるQuercus PHPの実装と、PHP/Javaブリッジを検討してきました。
ただし、同様の機能を実行するC++用のものを見つけることができませんでした。PHPモジュールを作成することは可能ですが、新しい(および古い)スクリプトをモジュールに書き直してからPHPでそれらの関数を呼び出す場合だけでなく、それが十分に一般的であるかどうかを確認するのに苦労しています。
java - DBに接続するためだけにphp-javaブリッジを使用する
php-javaブリッジを使用してデータベースに接続する方法を知りたい..そして、PHPを使用してDBからデータを表示し、DBからデータを更新し、PHPファイルを介してDBからデータを削除したい(インターフェース)
php - Apache / PHPTomcatJavaBridgeと通信できません
私のプロジェクトはPHPJavaBridgeを使用しており、WAMP、JRE 6.0、Tomcat 6.0.32をインストールしました。これでhttp:// localhost:8080 /に正常にアクセスできますが、PHPサイトを実行すると次のエラーが発生します。
warning: fsockopen() [function.fsockopen]: unable to connect to localhost:8080 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. )
誰かがこの問題で私を助けてくれますか?
編集
私がWindows7を使用していることを言及するのを忘れました
java - Javabridge を使用した PHP からの Java 呼び出し
「Java Bridge」を使用して PHP から Java メソッドを呼び出す方法を学習しようとしています。以下は単なるテストコードです
このコードを実行するたびに、ブラウザーはサーバーを長時間待機し続け、エラー Fatal error: Request Entity Too Large を生成します。Java呼び出しを実行できないと思います。何が間違っている可能性があり、どのようにデバッグするのか教えてください。
java - 同じサーバーでphpとjavaを実行する
私はAndroidアプリケーションと相互作用するJavaを使用して記述されたWebサービスを持っていますが、今はphpフレームワークcodeigniterを使用してフロントエンドWebポータルを実装する必要があります。WebサービスとWebポータルの両方と相互作用する共通データベースmysql5.1があります。すでにtomcat6サーブレットコンテナを実行しているが、ApacheWebサーバーがないサーバーでLAMPスタックを構成することは可能です。さらに処理するにはどうすればよいですか。同じ問題を検索したときに、php java bridgeと呼ばれるものを見つけました。これは、使用する必要があるものですか?これについてもっと正確に言えば、ec2 ubuntuインスタンスがすでに実行されており、ドメインがgodaddyにパーキングされており、ec2インスタンスのIPを使用してAレコードを設定しました。
親切に手伝ってください
java - PHPでJava Dateを作成中にエラーが発生しました
文字列の日付を Java の日付に変換して Java に渡す PHP 関数を作成しようとしています。アプリケーションに java.util.Date ではなく java.sql.Date を使用する必要があります。しかし、この単純な関数では奇妙な結果が得られます。
java が返した日付の年が間違っています: php (2011 年 7 月 1 日)、java (3911 年 7 月 1 日)。
何が間違っているかについての指針はありますか?
参考までに、phpは正しく解析しています:
php - Tomcat で PHP スクリプトを実行できない
Tomcat 6 を使用しています。PHP をインストールし、PHP/JavaBridge を使用して Tomcat 内で PHP を実行しようとしています。Tomcat の webapps ディレクトリ内に JavaBridge.war をデプロイしました。PHPスクリプトを実行すると、以下のエラーが発生します。助けてください。あなたの助けに感謝します。
これは私がPHPを設定する方法でした:
./configure --with-mime-magic --with-config-file-path=/usr/local/Zend/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml- dir=/usr --with-mhash=/usr/local --with-bz2=/usr --with-curl=/usr --with-gettext=/usr --with-mysql=/usr/local/mysql --with-mcrypt=/usr/local --enable-magic-quotes --enable-bcmath --enable-calendar --enable-ftp --enable-sockets --enable-wddx --enable-mbstring --enable -zip --enable-exif --with-gd=/usr --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd -native-ttf --enable-fastcgi --enable-force-cgi-redirect
Tomcat からのエラー メッセージは次のとおりです。
HTTP ステータス 500 -
タイプ例外レポート
メッセージ
サーバーで内部エラー () が発生したため、この要求を実行できませんでした。
例外
javax.servlet.ServletException: php.java.bridge.http.FCGIConnectException: サーバー php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:133) org.apache.catalina.valves.ErrorReportValve.invoke に接続できません(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11 .Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Thread.java:662) ルート原因
php.java.bridge.http.FCGIConnectException: サーバーに接続できませんでした php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58) php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131 ) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor .java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang .Thread.run(Thread.java:662) 根本原因
java.io.IOException: java.net.ConnectException: 接続が拒否されました php.java.bridge.http.FCGIConnectException.(FCGIConnectException.java:37) php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58) php .java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java) :298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net .AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Thread.java:662) 根本原因
java.io.IOException: PHP が見つかりません。php-cgiをインストールしてください。PHP テスト コマンド: [php-cgi, -v] php.java.bridge.Util$Process.start(Util.java:1145) php.java.servlet.fastcgi.FCGIProcess.start(FCGIProcess.java:68) php .java.bridge.http.SocketChannelFactory.doBind(SocketChannelFactory.java:125) php.java.bridge.http.FCGIConnectionFactory.runFcgi(FCGIConnectionFactory.java:88) php.java.bridge.http.FCGIConnectionFactory$1.run(FCGIConnectionFactory. java:109) 注 根本原因の完全なスタック トレースは、Apache Tomcat/6.0.29 ログで入手できます。
アパッチ トムキャット/6.0.29
java - PHPにJavaブリッジを使用する利点は何ですか?
PHPにJavaブリッジを使用する利点は何ですか?実稼働環境に対応できる/安定していますか?インストール/管理の方法に「最善のアプローチ」はありますか?
java - javabridge のセットアップ/インストールの問題
wamp サーバー 2 と tomcat 7 を使用しています。javabridge.war を webapp directorya 内に配置し、tomcat を起動しました。これにより、webapp 内に javabridge ディレクトリが作成されました。
この javabridge ディレクトリをルート ディレクトリにコピーしました。ただし、次の例を使用しようとすると、エラーが発生します。
このセットアップで私が犯した間違いを誰か教えてもらえますか?
php - PHPJavaBridgeパーミッションエラー
既存の大規模な(っぽい)PHP Webアプリ(ApacheとMySQLを使用)があり、Javaベースのレポートエンジンを呼び出すことができる必要があります。したがって、私が達成しようとしているのは、既存のPHPアプリ内からJavaクラスにアクセスする機能です。
これまでのところ、新しい開発サーバーに、オープンソースのPHP-Javabridgeプロジェクト(http://php-java-bridge.sourceforge.net/pjb/index.php)を正常にインストールし、Tomcat(7.0。 22)ポート8080を使用するFedora 15ボックス。ライブシステムのホスティング制限のため、Zend Javabridgeを使用できません。残念ながら、現時点ではプロバイダーを変更することはできません。
また、ポート80を使用して開発ボックスでApacheとPHPを実行しています。
TomcatでJavaBridgeWebアプリケーションにアクセスでき、すべてのPHPの例が正常に機能します。ただし、既存のアプリケーション内からJavaBridgeにアクセスしようとすると、問題が発生します。
ApacheのWebルート(/ var / www / html)にあるスクリプト内からphpの「java」関数を呼び出すことができるはずだと思います。
JavaBridgeアプリケーションで提供されているスクリプトを次のように使用しました。
これにより、/ etc / httpd / logs/error_logに次のエラーが発生します
[2011年11月22日火曜日15:01:08][エラー][クライアント::1]PHP警告:require_once(http:// localhost:8080 / JavaBridge / java / Java.inc):ストリームを開くことができませんでした:アクセスが拒否されました2行目の/var/www/html/javatest.php
[2011年11月22日火曜日15:01:08][エラー][クライアント::1]PHP致命的なエラー:require_once():必要な'http:// localhost:8080 / JavaBridge / java / Java.inc'(include_path ='.:/php/includes:/usr/share/apache-tomcat-7.0.22/webapps/JavaBridge')2行目の/var/www/html/javatest.php
他の提案されたスクリプトは次のとおりです:(注:私は/ var / www / htmlにJava.incのコピーを持っています)
これにより、次のエラーが発生します。
[2011年11月22日火曜日12:57:51][エラー][クライアント::1]PHP警告:fsockopen():/ usr / share / apache-tomcat-の127.0.0.1:8080(アクセスが拒否されました)に接続できません7.0.22 / webapps / JavaBridge / java / Java.inc(994行目)
[2011年11月22日火曜日12:57:51][エラー][クライアント::1]PHP致命的なエラー:UncaughtJEEサーバー127.0.0.1:8080に接続できませんでした。始めてください。エラーメッセージ:アクセスが拒否されました(13)\ n\n行989の/usr/share/apache-tomcat-7.0.22/webapps/JavaBridge/java/Java.incにスローされました
問題を除外するために私が取った手順は次のとおりです。
- サーバーのファイアウォールをオフにしました
- Chmodはすべてを777にしました
- PHPスクリプトを実行する前後にTomcatが実行されていることを確認しました(おそらく間違って、Tomcatが2番目のエラーメッセージで参照されているJEEサーバーであると思いますか?)4)。PHPのiniファイルにはopen_basedirの制限がなく、セーフモードがオンになっておらず、allow_furl_openおよびallow_url_includeオプションがあります。
私は本当にこれに固執しています。グーグルの量は、同様の特定の問題を発見しません。
私はJavaに非常に精通しておらず、その/var/www/html
場所からjava関数を実行することが単に不可能であり、PHPスクリプトをから実行する必要がある限り、JavaBridgeのスティックの端が間違っている可能性があると言わなければなりません。 TomcatJavaBridgeアプリ内。
すべてのサーブレットが機能していると思いますが、知識が不足しているため、それを確認する必要がありません。
これはFedoraにあるので、SELinuxパーミッションの問題に関連している可能性がありますか?