Ricardo Portolan
exec() não funciona
04 de November de 2011 às 07:21PM
Boa tarde.

Tenho instalado no meu computador o
AppServer Open Project - 2.5.10 for Windows
-------------------------------------------
- Apache Web Server Version 2.2.8
- PHP Script Language Version 5.2.6
- MySQL Database Version 5.0.51b
- phpMyAdmin Database Manager Version 2.10.3

Estou tentando executar o comando exec() e não funciona
de jeito nenhum, já tentei das seguintes formas:

exec('calc.exe');
exec('c:\windows\system32\calc.exe');
exec('c:\\windows\\system32\\calc.exe');
exec('c:/windows/system32/calc.exe');

Sintoma: Absolutamente NADA, ee não dá nenhum erro, simplesmente a
página fica em branco e carregando e não acontece mais nada.

Detalhe: No php.ini da pasta Windows, já conferi o safe_mode
e o safe_mode = Off e disable_functions não tem nada, está em branco.

Sei que certamente por questão de segurança o comando está bloqueado,
mas como faço para que seja liberado?? Sei que tem como pois o Xampp
funciona perfeitamente, mas eu não posso mudar, tem que ser com o AppServ.

Alguém tem como me dar uma mão e me ajudar a resolver esse problema??

Desde já, agradeço a atenção de todos.

Abraço.


---
Ricardo Portolan
Marcos Regis
Re: exec() não funciona
06 de November de 2011 às 02:31PM
Qual o intuiro desse seu código?

http://phpbrasil.com/phorum/read.php?11,177497,177499#msg-177499
Ricardo Portolan
Re: exec() não funciona
07 de November de 2011 às 12:43PM
Olá Marcos.

Na verdade, trabalho numa empresa
onde configuramos totens toutch screen,
e nesse caso, os totens ficam sem teclado.

Geralmente precisamos acionar o teclado virtual
do Windows em determinados momentos da produção.

Só que quando eu tento executar o osk.exe (ou qualquer
outro executável, ele simplesmente bloqueia e não executa).

Quanto ao link que você me passou, testei os comandos no
prompt do DOS e ele retorna erro nos dois comandos.

Tem algo mais que eu possa fazer??

Desde já, agradeço a sua atenção e disponibilidade.


Abraço.
Marcos Regis
Re: exec() não funciona
07 de November de 2011 às 08:52PM
Vou começar lher dizendo que um script PHP sendo executado pelo Apache não pode executar programas do Windows. Não vou entrar em detalhes técnicos do motivo, apenas aceite que não funciona com Apache+PHP principalmente quando o Apache roda como um serviço do Windows.
O melhor seria partir para outra coisa como .Net que tem essa capacidade de integração com o Windows.

Existe uma possibilidade de algo como o código abaixo funcionar

$wShell = new COM("WScript.Shell");
$exec = $wShell->Run("notepad.exe", 7, false);

Entenda que isso não é lá muito bom de se fazer porque você o PHP não tem persistência. Uma vez que consiga executar a aplicação, ela fica orfã pois o ciclo de vida de uma aplicação WEB PHP é do início da requisição capturada pelo Apache até o momento em que ele envia a resposta pela conexão (momento em que o cliente as recebe) e você terá dificuldades em controlar os processos criados.
Spider Poison
Re: exec() não funciona
08 de November de 2011 às 11:00AM
Verifique se seu usuário tem permissões para executar estes .exe, dependendo duas configurações voce precisa dar permissão para o usuário do IIS executar aplicativos.
Marcos Regis
Re: exec() não funciona
08 de November de 2011 às 01:09PM
Muito interessante, o cara deixa claro que está usando Apache e vem alguém e indica para dar permissão ao usuario do IIS...
Gilberto Alves Rodrigues
Re: exec() não funciona
27 de February de 2017 às 06:09PM
Também estou com o mesmo problema e já tentei as soluções acima citadas e nada.
José Ângelo Lefundes Coelho
Re: exec() não funciona
17 de July de 2017 às 07:10PM
TeamView nao resolve nesse caso para o suporte aos totens?
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.