Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2如何调用其他服务器(java桥)上的require_once函数_Php_Symfony_Jasper Reports_Php Java Bridge - Fatal编程技术网

Php Symfony2如何调用其他服务器(java桥)上的require_once函数

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代码,以便执行一些java代码来运行php jru jasper报告

下面是我想用Symfony运行的代码

<?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,然后将用户重定向到生成的文件。