If you are desperate to do server-side printing with PHP on a *nix machine then you can always use the fsockopen() function and send a pre-build PJL (Printer Job Language) string directly to the printer. As long as your printer supports PJL then there should be no problem. Just also bare in mind that unless you are doing something very special, like sending the print job to a remote printer and not the printer the client is at you should just make a report page generated by php and apply a css stylesheet which makes the page styled for printing.
printer_open
(No version information available, might be only in CVS)
printer_open — プリンタへの接続をオープンする
説明
resource printer_open
([ string $printername
] )
この関数は、指定したプリンタへの接続を試みます。
printer_open() は、 デバイスコンテキストも開始します。
パラメータ
- printername
-
プリンタ名。このパラメータが指定されない場合、 この関数はデフォルトのプリンタへの接続をオープンします(php.ini に printer.default_printer として指定されていない場合は、 PHP はデフォルトのプリンタの検出を試みます)。
返り値
成功時にハンドル、失敗時に FALSE を返します。
例
例1 printer_open() の例
<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>
printer_open
knightcon at bluebottle dot com
14-Dec-2006 05:04
14-Dec-2006 05:04
jt at jtis dot de
31-Aug-2004 03:39
31-Aug-2004 03:39
Revision: Single quotes DO work, but with a triple slash, like
printer_open('\\\SERVERNAME\PRINTERNAME');
Weird.
jasonlam_ at hotmail dot com
04-Jun-2003 04:22
04-Jun-2003 04:22
Connecting to Network Printers
<?php
$handle = printer_open("\\\\DOMAIN_NAME\\Printer_Name");
?>
Similiar to how you would locate a domain on your network
you need to have 2 prefix slashes. But as reminder
you need to escape it. So really you need 4 slashes. It
worked me. Hopefully this helps who is having problems
connecting to network printer.
csammis at iastate dot edu
30-Apr-2002 07:38
30-Apr-2002 07:38
As stated on the index page for all the printer functions, these are supported under Win32 *only*...in fact, they're frontends API calls. I'd go ahead and say that they would probably never be ported to *nix because of the many various ways of handling printers. Windows, for all its faults, at least has a unified printing system.
As to editing the php.ini, try it with no path at all, like the first example here
