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