我正在尝试从我的 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 所有目录
- 使用了 localhost 和 127.0.0.1
- allowed_url_include = 开启
有人可以帮忙吗?
最佳答案
因此,我在博格丹的帮助下得到了答案。
我通过 homestead 运行我的 Laravel5 应用程序,因此我通过浏览器访问的本地主机实际上无法从 vagrant 访问。
所以我必须在我的 vagrant box 上安装 tomcat,这是我通过这篇文章 https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-7-on-ubuntu-14-04-via-apt-get 完成的。 (来源:博格丹)。
但是,我在将 JAVA Bridge 上传到该 tomcat 设置时确实遇到了问题,因此我必须以与托管网站文件相同的方式在 homestead 环境中的计算机上重新创建 tomcat 设置。诚然不是很好,但我不喜欢闲逛!
这篇文章很棒,因为它帮助安装了 Tomcat 所需的所有必需的关联包......例如 Java。
基本上有更好的方法,但这可行。谢谢博格丹!
关于java - 通过 Tomcat main() 的 PHP/JAVA 桥 : Failed opening required 'http://localhost:8080/JavaBridge/java/Java.inc' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259025/