Re: printing on IIS7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/5/5 Paul Giesberts <p.giesberts@xxxxxxxxxxxxxxxxxx>:
> Hi,
>
> I have migrated a php site from Linux to windows. The only remaining problem seems to be printing, naturally I have had to change the code and that's where the problems have started. I have the following very simple code:
>
> <?php
>
> $txt = "Hello World";
> $handle = printer_open("DELL3115");
> printer_write($handle, $txt);
> printer_close($handle);
> ?>
>
> When I run this from the command prompt using php -f ..... It works fine, in other words it prints, when I run this script through the web browser then I get this:
>
> Fatal error: Out of memory (allocated 262144) (tried to allocate 4294967295 bytes) in C:\inetpub\wwwroot\testprn.php on line 4
>
> I have read this article: http://support.microsoft.com/?kbid=184291 and many others, which all lead me to believe that it is an account / permission problem. On a side note:  $handle = printer_open("non-existing-printer"); gives me a normal error in the sense of "can't find printer".
>
> I run Windows 2008 64 bit, IIS7, php 5.2 32 bit ( I have enabled 32 bit apps in IIS and the rest of the site works fine), using FastCGI.
> Has anyone got any ideas?
>
> Thanks,
> Paul Giesberts
> IT & QA Manager
> -------------------------------------------------------------
> Servicecare
> Manchester Road
> Oldham
> OL9 7AA
> -------------------------------------------------------------
> DDI: ++44-161-6881985
> Tel: ++44-161-6881999
> Fax: ++44-161-6881998
> email: p.giesberts@xxxxxxxxxxxxxxxxx
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Strangely enough, I've just had a very similar issue with another
application (Timeware needing to print a "Who Is In" report when the
fire alarm rings).

The issue we found was that the account being used to run the service
did not have access to the printer. In our case, Timeware didn't bomb
out, but nothing was printed.

As soon as we gave permissions to the printer for the Timeware
service, all was well.


Now with regards to IIS, I'm not too sure.

What I have half worked out ...

http://docs.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate is
required to be set to 1.

The ApplicationPool that your site(s) run under needs to be set to
something which can print.



-- 
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux