Executar arquivo .vbs com Laravel

93 views
Skip to first unread message

luiz Gustavo Costa Ceolin

unread,
Jun 1, 2017, 9:48:29 AM6/1/17
to Laravel Brasil
Bom dia.
Sabem me dizer se o Laravel possuí algum meio para executar programas dentro do servidor? 
Exemplo: eu tenho um arquivo .vbs que desabilita o usuário do AD de algumas pessoas. Eu queria executar esse app pela minha página web e não ter que acessar o diretório e executar manualmente.
Eu tentei utilizar algumas funções do PHP como, exec(), shell_exec() mas não obtive sucesso.

Guilherme Medeiros

unread,
Jun 1, 2017, 9:58:08 AM6/1/17
to laravel...@googlegroups.com
Se nenhuma dessas funções funcionar lascou... por que são as que tem.
Ai é mais negócio investigar o por que delas não funcionarem do que fazer manualmente.


PS:
Provavelmente você está tentando rodar uma dessas funções dentro de uma requisição HTTP.
Acho que se você estiver utilizando PHP-FPM ele bloqueia uma ou mais dessas funções (talvez tenah como liberar no arquivo de configuração).

Nesse cenário, investiga o uso de Laravel Workers e fila de processamento. Eles usam o PHP-CLI ao invés do PHP-FPM, onde há o acesso a essas funções.




--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasil+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Alex Juchem

unread,
Jun 1, 2017, 10:03:21 AM6/1/17
to laravel...@googlegroups.com

Neto

unread,
Jun 1, 2017, 10:05:20 AM6/1/17
to Laravel Brasil
Vai ter mesmo que partir para o CLI e coisas de mais baixo nível para chegar a executar esses comandos. Mas como já foi dito acima, é perfeitamente possível.

luiz Gustavo Costa Ceolin

unread,
Jun 1, 2017, 10:20:13 AM6/1/17
to Laravel Brasil
Cara, eu vi uns exemplo e tentei assim
exec('wscript "/var/www/html/laraluiz/public/Vbscript/Bloquear_Usuario.vbs"');
mas não me retorna nenhum erro e também não executa a ação.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.

luiz Gustavo Costa Ceolin

unread,
Jun 1, 2017, 10:22:09 AM6/1/17
to Laravel Brasil
Não havia visto os últimos comentários, vou ver esse do Alex Juchem

Alex Juchem

unread,
Jun 1, 2017, 10:30:41 AM6/1/17
to laravel...@googlegroups.com
Quando executo o exec eu tiro as aspas:

exec("mkdir /minha/pasta; cd /minha/pasta; php -f importar.php"); // mando o php executar o arquivo importar.php

Tu pode ver a saida:
$return = exec("php -f importar.php");
echo $return;

Ou escrevar a saida em um log:
exec("mkdir /minha/pasta; cd /minha/pasta; php -f importar.php > /var/www/html/laraluiz/public/storage/logs/exec.log");

E por último, se quiser que o teu script continue executando sem para no exec(), pode rodar:
exec("mkdir /minha/pasta; cd /minha/pasta; php -f importar.php  > /dev/null &");
Assim, o php vai executar o exec e continuar o teu script, sem aguardar a resposta do comando, muito útil caso você não precise do retorno do comando.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasil+unsubscribe@googlegroups.com.

Públio Cavalcante

unread,
Jun 2, 2017, 8:05:21 AM6/2/17
to Laravel Brasil
Bom dia,

Existe uma biblioteca chamada aldap2 no github. Está bem madura, o foco é gerenciar o AD. Ela tem funcionalidades pra quase tudo no ad relativo a usuários.

E tem um pacote pra integra-la com o Laravel

Att
Reply all
Reply to author
Forward
0 new messages