Php Symfony2如何调用其他服务器(java桥)上的require_once函数
我试图调用我找到的一些php代码,以便执行一些java代码来运行php jru jasper报告 下面是我想用Symfony运行的代码Php Symfony2如何调用其他服务器(java桥)上的require_once函数,php,symfony,jasper-reports,php-java-bridge,Php,Symfony,Jasper Reports,Php Java Bridge,我试图调用我找到的一些php代码,以便执行一些java代码来运行php jru jasper报告 下面是我想用Symfony运行的代码 <?php function DescargarArchivo($fichero) { $basefichero = basename($fichero); header( "Content-Type: application/octet-stream"); header( "Content
<?php
function DescargarArchivo($fichero)
{
$basefichero = basename($fichero);
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($fichero));
header( "Content-Disposition:attachment;filename=" .$basefichero."");
readfile($fichero);
}
//Obtener Fecha de Hoy
$fecha = time ();
$fecha_partir1=date ( "h" , $fecha ) ;
$fecha_partir2=date ( "i" , $fecha ) ;
$fecha_partir4=date ( "s" , $fecha ) ;
$fecha_partir3=$fecha_partir1-1;
$reporte="Reporte_";
$filename = $reporte. date("Y-m-d")."_". $fecha_partir3.'_'.$fecha_partir2.'_'.$fecha_partir4.'.pdf';
//Llamando las librerias
require_once('http://localhost:8080/JavaBridge/java/Java.inc');
require('./php-jru/php-jru.php');
//Llamando la funcion JRU de la libreria php-jru
//$jru=new JRU();
$jru=new PJRU();
//Ruta del reporte compilado Jasper generado por IReports
//$Reporte='C://xampp//htdocs//reportes_javabridge//reportes//report1.jasper';
$Reporte='C://Dropbox//Apache Xampp//evaluacion_daci//web//reportes_javabridge//reportes//control_pago_estado_de_cuenta.jasper';
//Ruta a donde deseo Guardar Mi archivo de salida Pdf
//$SalidaReporte='C://xampp//htdocs//reportes_javabridge//'.$filename;
$SalidaReporte='C://Dropbox//Apache Xampp//evaluacion_daci//web//reportes_javabridge//'.$filename;
//Parametro en caso de que el reporte no este parametrizado
$Parametro=new java('java.util.HashMap');
$Parametro->put("id", 39);
//Funcion de Conexion a mi Base de datos tipo MySql
//$Conexion= new JdbcConnection("com.mysql.jdbc.Driver","jdbc:mysql://localhost/probando_reportesphp","root","clave");
$Conexion= new JdbcConnection("com.mysql.jdbc.Driver","jdbc:mysql://localhost/evaluaciones?zeroDateTimeBehavior=convertToNull","root","admin");
//Generamos la Exportacion del reporte
$jru->runReportToPdfFile($Reporte,$SalidaReporte,$Parametro,$Conexion->getConnection());
if(file_exists($SalidaReporte))
{
DescargarArchivo($filename);
if(file_exists($SalidaReporte))
{
if(unlink($filename))
{
}
}
}
?>
我的问题是,要求一次安装在其他服务器上,不知道如何从控制器调用这个。您是否考虑使用JasPer-Server REST或SOAP API来简化您的问题?使用web服务,您可以让Jasper承担所有Java职责,保持Php应用程序的整洁(仅使用对Jasper服务的调用),感谢您的推荐。等我有更多的时间再试试。有关于jasper服务器的好教程吗?在github中,有许多客户机/包装器可以随时学习和使用,可能也适用于symfony2。使用这种方法,您不需要使用java包装器或库,保持php应用程序的干净和简单最终执行了一个普通的php页面,该页面调用安装在其他服务器上的javabridge并生成php,然后将用户重定向到生成的文件。