Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jpalma

Problemas com a função EXEC() no php 5

Recommended Posts

Boa tarde,

 

Utilizo o XAMPP para implantar meus sistemas e estou com o seguinte problema:

 

- Na versão 1.7.1 do xampp, com php 5.2.9, utilizo a função EXEC para executar um programa externo para acessar a porta serial de uma balança com a finalidade de obter o peso. Este programa foi desenvolvido pelo fabricante da balança.

 

- Atualizei a versão do xampp para 1.7.3, com php 5.3.1, e quando tento utilizar o comando EXEC trava a porta serial e não retorna o peso.

 

Este problema é de configuração no PHP.INI ? Caso positivo qual parametro é este ?

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente pela função system() ou shell_exec() e fala o resultado.

No php.ini tem o parâmetro disable_functions

Exemplo:

disable_functions = exec,shell_exec,system

Veja se a função exec está lá. Se estiver, remova-a.

 

Tente também pela função passthru().

Leia isso também.

:mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já utilizei a SYSTEM, porem não testei SHELL_EXEC.

 

Verifiquei o php.ini e não existem funções desabilitadas.

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for um servidor compartilhado CERTAMENTE sua hospedagem não irá ativar, pois por questão de segurança estas funções são desativadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Markus

 

Os computadores fazem parte de uma rede LOCAL, nas dependências do cliente.

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

E o que retorna a função exec? Que valor seria? Dá um var_dump() aí e mostra pra gente.

 

Tenta com funções alternativas como system(), shell_exec(), passthru(), popen()... Apesar que se exec não funciona, acredito que estas também não irão funcionar.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já utilizei a função SYSTEM e tambem não funcionou.

 

O que me intriga é que na versão php 5.2.9 esta normal e na 5.3.1 não esta.

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm... As probabilidades são muitas.

Dá um var_dump() na string ANTES dela ser colocada na função e vê se tá tudo normal, sem escapes e tudo mais.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comando que executo é o seguinte:

 

exec('lebalcon 1 9600 5')

 

lebalcon = executavel do fabricante da balança

 

1 = porta com1

 

9600 = velocidade da porta com

 

5 = codigo da balança

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e como a string está sendo passada em run-time no script?

var_dump() pl0x. =p

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função é executada conforme informei anteriormente:

 

exec('lebalcon.exe 1 9600 5')

 

lebalcon.exe = executavel do fabricante da balança

 

1 = porta com1

 

9600 = velocidade da porta com

 

5 = codigo da balança

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, cara. Mas eu pedi o var_dump() pra saber EXATAMENTE que string está sendo passada em run-time.

Alguma diretiva pode estar modificando e você não vê.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.