1

我正在尝试从我的 Laravel 5 应用程序中实现 PHP/JAVA 桥。

但是,我不断收到此消息:

main(): 打开失败需要' http://localhost:8080/JavaBridge/java/Java.inc ' (include_path='/home/vagrant/sites/new_metinet/vendor/phpunit/php-text-template:/home/ vagrant/sites/new_metinet/vendor/phpunit/php-timer:/home/vagrant/sites/new_metinet/vendor/phpunit/php-file-iterator:.:/usr/share/php:/usr/share/pear')

main(): 打开失败需要' http://127.0.0.1:8080/JavaBridge/java/Java.inc ' (include_path='/home/vagrant/sites/new_metinet/vendor/phpunit/php-text-template:/ home/vagrant/sites/new_metinet/vendor/phpunit/php-timer:/home/vagrant/sites/new_metinet/vendor/phpunit/php-file-iterator:.:/usr/share/php:/usr/share/pear ')

这是调用 Java Bridge 的 php 代码

<?php namespace App\Services\JavaBridge;

require_once("http://localhost:8080/JavaBridge/java/Java.inc");

class JavaRepository {

    public function test() {

        try {

            /* invoke java.lang.System.getProperties() */
            $props = java("java.lang.System")->getProperties();

            /* convert the result object into a PHP array */
            $array = java_values($props);
            foreach($array as $k=>$v) {
                echo "$k=>$v"; echo "<br>\n";
            }
            echo "<br>\n";

            /* create a Java object from the PHP object */
            $javaObject = java_closure(new JavaClass());
            echo "PHP says that Java says: "; echo $javaObject;  echo "<br>\n";
            echo "<br>\n";


            echo java("php.java.bridge.Util")->VERSION; echo "<br>\n";

        } catch (JavaException $ex) {

            echo "An exception occured: "; echo $ex; echo "<br>\n";

        }
    }

}

/* create a PHP class which implements the Java toString() method */
class JavaClass {
    function toString() { return "hello PHP from Java!"; }
}

我已经搞定了:

  • chmod 所有目录
  • 使用本地主机和 127.0.0.1
  • allowed_url_include = on

有人可以帮忙吗?

4

1 回答 1

0

所以,我在波格丹的帮助下得到了答案。

我正在通过 homestead 运行我的 Laravel5 应用程序,因此我通过浏览器访问的 localhost 实际上无法从 vagrant 访问。

所以我必须在我通过这篇文章https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-7-on-ubuntu-14-04-通过-apt-get(信用:Bogdan)。

但是,我在将 JAVA Bridge 上传到那个 tomcat 设置时确实遇到了麻烦,所以我必须在 homestead 环境中重新创建我在计算机上的 tomcat 设置,就像你托管你的网站文件一样。诚然不是很好,但我不喜欢闲逛!

然而,这篇文章很棒,因为它帮助安装了 Tomcat 需要的所有必需的关联包……例如 Java。

基本上有一个更好的方法,但这有效。谢谢博格丹!

于 2015-03-25T16:32:41.023 回答