Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, boa tarde.
Desenvolvi um script para impressão em rede, utilizando uma impressora Zebra e enviando a solicitação diretamente via "SHELL_EXEC(), EXEC() ou SYSTEM()" e funciona muito bem em ambiente windows utilizando APACHE, porém, quando tento utilizar o mesmo script em um Servidor IIS, nem mesmo mensagens de erro são retornadas, não importa qual destes comandos eu uso.
Segue o script (simplificado):
$nome_arquivo = $_SESSION['path']."/temporarios/print/0001.txt";
$impressora = "\\\SERVIDOR\zebra";
$nome_arquivo = str_replace("/", "\\", $nome_arquivo);
$comando = "COPY $nome_arquivo $impressora";
echo system('NET USE LPT3: /DELETE' ) . "<br/><br/>";
echo system('NET USE LPT3: ' . $impressora) . "<br/><br/>";
echo system($comando);
Este tópico não tem o objetivo de entrar em detalhes sobre qual comando é mais adequado (System, Shell_exec ou Exec) e sim, saber como ativar as permissões para que eu possa usar recursos e manipular arquivos em rede local utilizando o IIS.
Não tenho muita flexibilidade para solicitar alterações no servidor "IIS" então, gostaria de saber se é possível realizar este tipo de comando sem alterar o servidor.
Lembrando que um comando simples como
echo exec('dir');
Funciona perfeitamente, mesmo no IIS, e mover arquivos usando copy, desde que seja entre as pastas no próprio servidor, funciona sem problemas...
Já utilizei também:
echo rename("meuarquivo.txt", "LPT1");
E funcionou somente no APACHE, no IIS nada...
Aguardo idéias, mesmo que seja uma abordagem diferente para o problema.
Carregando comentários...