Eu posso imprimir um arquivo usando "lpr [nome_do_arquivo]" em uma impressora dentro da rede local, e funciona muito bem.
Eu tenho um site fictício rodando em uma pilha LAMP. Ele tem um arquivo index.php simples que grava uma string fictícia em um arquivo de texto e tenta imprimi-lo usando o mesmo comando descrito acima. No entanto, quando chamado pelo PHP, este comando diz que ele falha.
Aqui está uma parte do meu arquivo PHP:
$fileName = "/var/www/html/print.txt";
file_put_contents( $fileName, "hello !" );
$output = array();
exec( "lpr \"$fileName\" 2>&1", & $output );
if( null != $output )
{
print_r( $output );
}
E diz:
lpr: Error - scheduler not responding!
É algum tipo de problema certo? Estou rodando isso no CentOS6.
EDIT: Eu corri o arquivo PHP a partir de uma linha de comando e funcionou. Então eu suponho que não funciona quando é PHP / appache que o executa.
Tags command-line php lpr