Executando script shell por página PHP

1. Executando script shell por página PHP

Gabriel Vargas
iBieel

(usa CentOS)

Enviado em 26/03/2015 - 20:38h

Amigos, estou tendo um problema para executar um script shell por meio de uma página php, a página não executa o script. O script está no diretório: /home/userts3/ts3_server1/ts e a página php /www/html...

Estou usando o comando.:
[code]system("cd /home/userts3/ts3_server1/ts/ts3server_startscript.sh restart");

Algúem sabe porque não está executando?


  


2. Re: Executando script shell por página PHP

Diego França
dtgfranca

(usa Debian)

Enviado em 26/03/2015 - 20:47h


Troque o system por esse comando


shell_exec



3. Re: Executando script shell por página PHP

Gabriel Vargas
iBieel

(usa CentOS)

Enviado em 26/03/2015 - 21:28h


Não funcionou também.


4. Re: Executando script shell por página PHP

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 27/03/2015 - 06:04h

o que aparece no log do apache ao rodar a sugestão do amigo aí de cima? no ubuntu, o diretório é var/log/apache2



5. Re: Executando script shell por página PHP

Diego França
dtgfranca

(usa Debian)

Enviado em 27/03/2015 - 06:43h


Pode ser que o seu php.ini está configurado para não aceitar esse tipo de comando , em alguns casos ele vem desabilitado por padrão , questões de segurança .

entra no php.ini

# vi /etc/php5/apache2/php.ini


e verifique essa configuração

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

Se caso o shell_exec estiver , é só retirar ele e reiniciar o apache que então você vai conseguir

service apache2 restart



6. Re: Executando script shell por página PHP

Gabriel Vargas
iBieel

(usa CentOS)

Enviado em 27/03/2015 - 16:51h

cassio88 escreveu:
o que aparece no log do apache ao rodar a sugestão do amigo aí de cima? no ubuntu, o diretório é var/log/apache2

Eu fiz uma página php/html com um botão para executar isso aí, bem ele não executa, é isso que acontece.

dtgfranca escreveu:
Pode ser que o seu php.ini está configurado para não aceitar esse tipo de comando , em alguns casos ele vem desabilitado por padrão , questões de segurança .

entra no php.ini

# vi /etc/php5/apache2/php.ini


e verifique essa configuração

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

Se caso o shell_exec estiver , é só retirar ele e reiniciar o apache que então você vai conseguir

service apache2 restart

Já tentei, não funcionou.






7. Re: Executando script shell por página PHP

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/03/2015 - 17:01h

Eu fiz uma página php/html com um botão para executar isso aí, bem ele não executa, é isso que acontece.


Essa informação não serve pra nada. Não temos como saber o que esta acontecendo ai sem saber o que está nos logs. Como o colega disse, poste o arquivo de log do apache no tópico.
----------------------------------------------------------------------------------
Uma vida não questionada não merece ser vivida - Platão


8. Re: Executando script shell por página PHP

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 27/03/2015 - 17:57h

Mesmo se a configuração de segurança estiver permitindo execução de comandos do sistema, o comando está errado:

cd /home/userts3/ts3_server1/ts/ts3server_startscript.sh restart

Tente mudar para:

sh /home/userts3/ts3_server1/ts/ts3server_startscript.sh restart

E claro, teste o comando no terminal antes de testar pela página web pra ver se ele vai funcionar.



9. Re: Executando script shell por página PHP

Gabriel Vargas
iBieel

(usa CentOS)

Enviado em 27/03/2015 - 20:23h

ru4n escreveu:

Eu fiz uma página php/html com um botão para executar isso aí, bem ele não executa, é isso que acontece.


Essa informação não serve pra nada. Não temos como saber o que esta acontecendo ai sem saber o que está nos logs. Como o colega disse, poste o arquivo de log do apache no tópico.
----------------------------------------------------------------------------------
Uma vida não questionada não merece ser vivida - Platão


[Fri Mar 27 19:24:20 2015] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/html/favicon.ico
sh: /home/userts3/ts3_server1/ts/ts3server_startscript.sh: Permission denied

fabio escreveu:

Mesmo se a configuração de segurança estiver permitindo execução de comandos do sistema, o comando está errado:

cd /home/userts3/ts3_server1/ts/ts3server_startscript.sh restart

Tente mudar para:

sh /home/userts3/ts3_server1/ts/ts3server_startscript.sh restart

E claro, teste o comando no terminal antes de testar pela página web pra ver se ele vai funcionar.


Não funcionou também, ele executa no terminal mas pela página não.






10. Re: Executando script shell por página PHP

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 27/03/2015 - 20:35h

sh: /home/userts3/ts3_server1/ts/ts3server_startscript.sh: Permission denied


Permissão negada. Pode ser que o PHP ainda não esteja permitindo a execução de comandos ou então que o usuário www-data (ou nobody dependendo da distro) não tenha permissão de execução do script.

Novamente pelo terminal, entre como root e em seguida:

# su - www-data
ou
# su - nobody

E tente executar o comando via terminal com um dos usuários acima. Se funcionar, é configuração do PHP, se não funcionar, é falta de permissão de execução do usuário do Apache.


11. Re: Executando script shell por página PHP

Gabriel Vargas
iBieel

(usa CentOS)

Enviado em 27/03/2015 - 20:44h

fabio escreveu:

sh: /home/userts3/ts3_server1/ts/ts3server_startscript.sh: Permission denied


Permissão negada. Pode ser que o PHP ainda não esteja permitindo a execução de comandos ou então que o usuário www-data (ou nobody dependendo da distro) não tenha permissão de execução do script.

Novamente pelo terminal, entre como root e em seguida:

# su - www-data
ou
# su - nobody

E tente executar o comando via terminal com um dos usuários acima. Se funcionar, é configuração do PHP, se não funcionar, é falta de permissão de execução do usuário do Apache.


Não funcionou, como dou essa permissão para o Apache?






12. Re: Executando script shell por página PHP

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 27/03/2015 - 21:26h

Não funcionou, como dou essa permissão para o Apache?


Descreva como você fez o que falei para eu saber o que pode ser feito.Qual mensagem de erro apareceu?




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts