Can this be run on a LAMP stack?

Jul 1, 2010 at 12:35 AM

I skimmed over the client and server html files in the /Samples/Helloworld/setup folder.

We have a lamp enviroment and want to present ssrs2008 reports without having an IIS server in the mix.  I don't need to edit reports etc from the web, just simply access them from a php page.

The other question I have is how much different will the reports look using this product vs the old Report Viewer?

Thanks!

Coordinator
Jul 1, 2010 at 1:12 AM

There are no dependencies in the PHP code so you should be able to run the PHP side on a LAMP stack if you want to, clearly you still need IIS to host SQL Server Reporting services.

About your second question: assuming you want to render the report in HTML format it will look the same as if it was rendered by the Report Server itself or the Report viewer. You will get an HTML fragment with associated png/jpg or any other image file used in the report.

In the HelloWorld.php sample (Samples\HelloWorld\Code) you can see how it works:

Quick recap of the required steps:

//Get HTML Format  
$renderAsHTML = new RenderAsHTML();
...
//Set all links to images to a directory on the local server
 $renderAsHTML->ReplacementRoot = getPageURL();
 $renderAsHTML->StreamRoot = './images/';
 // get the HTML fragment 
$result_html = $rs->Render2($renderAsHTML,
                                 PageCountModeEnum::$Actual,
                                 $Extension,
                                 $MimeType,
                                 $Encoding,
                                 $Warnings,
                                 $StreamIds);
//download all images and save them on the local server
   foreach($StreamIds as $StreamId)
    {
        $renderAsHTML->StreamRoot = null;
        $result_png = $rs->RenderStream($renderAsHTML,
                                    $StreamId,
                                    $Encoding,
                                    $MimeType);
// ....
// add the report to the page
echo '<div style="overflow:auto; width:700px; height:600px">';
echo $result_html;
echo '</div>';

Hope this helps
Claudio