Laravel4:Jasper报告PHP插件在程序代码中不起作用

Laravel4:Jasper报告PHP插件在程序代码中不起作用,php,laravel-4,jasper-reports,Php,Laravel 4,Jasper Reports,我正在使用我在这个链接中找到的JasperPHP插件 `从他们的网站: JasperReports库是世界上最流行的开源报告引擎。它完全是用Java编写的,能够使用来自任何类型数据源的数据,生成像素完美的文档,这些文档可以以多种文档格式查看、打印或导出,包括HTML、PDF、Excel、OpenOffice和Word 我使用以下代码编译了一个jrxml文件 JasperPHP::compile(base_path() . '/vendor/cossou/jasperphp/examples/he

我正在使用我在这个链接中找到的JasperPHP插件

`从他们的网站: JasperReports库是世界上最流行的开源报告引擎。它完全是用Java编写的,能够使用来自任何类型数据源的数据,生成像素完美的文档,这些文档可以以多种文档格式查看、打印或导出,包括HTML、PDF、Excel、OpenOffice和Word

我使用以下代码编译了一个jrxml文件

JasperPHP::compile(base_path() . '/vendor/cossou/jasperphp/examples/hello_world.jrxml', false, false, false)->execute();
当我使用php artisan tinker在命令行中运行此命令时,正如预期的那样生成了一个.jasper文件。但是当我把它放在routes.php下的程序代码中时,它抛出了一个错误

Route::get('/', function(){
    JasperPHP::compile(base_path() . '/vendor/cossou/jasperphp/examples/hello_world.jrxml', false, false, false)->execute();
});
根据日志文件:

[2015-01-17 16:51:02] production.ERROR: exception 'Exception' with message 'There was and error executing the report! Time to check the logs!' in /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/cossou/jasperphp/src/JasperPHP/JasperPHP.php:130
Stack trace:
#0 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/app/routes.php(17): JasperPHP\JasperPHP->execute()
#1 [internal function]: {closure}()
#2 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Routing/Route.php(109): call_user_func_array(Object(Closure), Array)
#3 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1028): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#4 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Routing/Router.php(996): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#5 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(775): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#6 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(745): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#7 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Session/Middleware.php(72): Illuminate\Foundation\Application->handle(Object(Illuminate\Http\Request), 1, true)
#8 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Cookie/Queue.php(47): Illuminate\Session\Middleware->handle(Object(Illuminate\Http\Request), 1, true)
#9 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Cookie/Guard.php(51): Illuminate\Cookie\Queue->handle(Object(Illuminate\Http\Request), 1, true)
#10 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Illuminate\Cookie\Guard->handle(Object(Illuminate\Http\Request), 1, true)
#11 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(641): Stack\StackedHttpKernel->handle(Object(Illuminate\Http\Request))
#12 /Applications/XAMPP/xamppfiles/htdocs/jasperTry/public/index.php(49): Illuminate\Foundation\Application->run()
#13 {main} [] []

这里有什么问题?提前感谢。

可能是文件权限问题。您可以尝试将.jrxml放在app/storage中,它应该有chmod 777Thank@lukasgeiter。。但它仍然只适用于php artisan tinker您真的需要用php应用程序编译jrxml吗?我建议您使用Jasper Studio或Ireports来设计、验证和编译报告,让外部供应商负责这项任务。然后根据相同的外部供应商原则设置JasperServer并上传编译的报告,最后将其作为服务在应用程序中使用JasperServer的REST和SOAP API。有了这一点,你将赋予Jasper报告管理方面的所有职责,你的应用程序将成为这些服务的客户,保持松散耦合并避免强烈依赖Hi@Alejandro,感谢你的建议,是的,我可以让报告进行编译。。但是我需要在php应用程序中生成报告,该应用程序的执行方法与上面的示例相同。。我的问题是,当我尝试在php应用程序中执行它们时,它会抛出一个错误,但在php artisan tinker中工作。。