Problemas com comando shell dentro do php [RESOLVIDO]

1. Problemas com comando shell dentro do php [RESOLVIDO]

André Pereira de Almeida
djandrepa

(usa CentOS)

Enviado em 07/08/2013 - 03:09h

Olá amigos bom dia,

Sou iniciante em linux e por isto vim aqui poder contar com a ajuda de vocês,

O meu problema é o seguinte:

Tenho o seguinte script em php:

<?php

$porta = $_GET['porta'];

$Command = "/home/shoutcast/./sc_serv /home/$porta/sc_serv.conf &";
$ExecCommand = $Command;
echo "Comando Executado: " . $ExecCommand ;
$Result = shell_exec($ExecCommand);
echo "<pre>$Result</pre>";

?>

Estou tentando utilizar ele pra subir o shoutcast server, o comando funciona e o shoutcast é iniciado, porém eu nao consigo ter o retorno da mensagem de que o comando foi rodado, a página fica carregando até dar tempo limite e expirar, alguém pode me ajudar ?


  


2. Re: Problemas com comando shell dentro do php [RESOLVIDO]

M4iir1c10
m4iir1c10

(usa Arch Linux)

Enviado em 07/08/2013 - 04:56h



<?php

$porta = $_GET['porta'];
o valor da variavel porta e para pegar a ela mesmo, porem onde ela e definida?

$Command = "/home/shoutcast/./sc_serv /home/$porta/sc_serv.conf &";
Creio que o comando seria /home/shoutcast/sc_serv (acredito que aqui deveria ter algum - seguido de uma letra, por exemplo -c para config ja que voce esta carregando sc_server.conf) /home/usuario(shoultcast estou crendo que voce esta rodando o shoultcast com esse usuario)/sc_serv.conf (outro - letra como voce esta definindo a porta creio eu ser -p) $porta(que precisa ser definida) &
$ExecCommand = $Command;
uma variavel dentro de outra variavel? ha nescessidade? voce realmente precisa de duas variaveis com o mesmo valor?
echo "Comando Executado: " . $ExecCommand ;
$Result = shell_exec($ExecCommand);
echo "<pre>$Result</pre>";

?>


Geralmente nao se colocar programas executaveis na pasta /home/usuario e sim em uma das pastas que aparecem entre : neste comando no terminal
echo $PATH 


Caso o usuario nao tenha alto privilegios como administrador do sistema e aconselhavel criar a pasta /home/usuario/bin e incluir no arquivo de text .bashrc a seguinte linha:
export PATH=$PATH:/home/usuario/bin 



A variavel porta deve ser declarada na chamada do comando ou na propria declaracao dentro do script.

<?php

$porta = $_GET['8000'];

$Command = "/home/shoutcast/sc_serv -c /home/shoutcast/sc_serv.conf -p $porta &";
echo "Comando Executado: " . $Command ;
$Result = shell_exec($Command);
echo "<pre>$Result</pre>";

?>

Eu nao conheco o shoutcast porem voce deve ver no manual se o -c -p que eu acrescentei esta correto, caso voce tenha certeza que o seu script esta certo entao a unica coisa faltando e definir a vairavel porta


3. Re: Problemas com comando shell dentro do php [RESOLVIDO]

Andr&eacute; Pereira de Almeida
djandrepa

(usa CentOS)

Enviado em 07/08/2013 - 05:00h

Ok, Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts