Oraf Posted May 20, 2013 at 10:55 PM Report #508157 Posted May 20, 2013 at 10:55 PM (edited) Boas Pessoal, estou com mais um problema preciso executar comandos linux no php. Estive a ver e achei o shell_exec e o exec porem e ao fim de testes consigo executar o comando pwd, uptime por exemplo mas nao comandos tipo ls, cd... Andei a ver e supostamente tem de se desativar o safe mode no php mas como estou a usar o php 5 penso que ja vem desativado ate porque nao encontro safe mode em lado nenhum.. Se alguem me souber dar uma luz do porque de nao estar a conseguir agradecia aqui fica um exemplo de como estou a usar o shell_exec... <?php $comando= shell_exec('pwd'); echo "O pwd e: " . $comando; ?> este exemplo trabalha porem se fizer: <?php $comando= shell_exec('ls'); echo $comando; ?> ja nao tenho resultado nenhum Edited May 21, 2013 at 01:37 AM by yoda
yoda Posted May 21, 2013 at 01:37 AM Report #508162 Posted May 21, 2013 at 01:37 AM Estás a correr o PHP localmente ou num servidor web? Mostra o conteúdo do php.ini before you post, what have you tried? - http://filipematias.info sense, purpose, direction
HappyHippyHippo Posted May 21, 2013 at 02:05 AM Report #508164 Posted May 21, 2013 at 02:05 AM qual a razão para que necessitas de executar um comando da shell ? não é para fazer pwd, ls, etc ? certo ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
taviroquai Posted May 21, 2013 at 12:27 PM Report #508202 Posted May 21, 2013 at 12:27 PM Mete o output no segundo parametro... $true_false = exec($comando, $output ); var_dump($output);
Oraf Posted May 21, 2013 at 01:01 PM Author Report #508209 Posted May 21, 2013 at 01:01 PM (edited) Boas Pessoal estou a trabalhar num servidor web, preciso de injectar metadata em ficheiros flv. Tentei com shell scripts e funciona portanto deve dar para o que preciso, aqui fica como fiz.. teste.php <?php echo shell_exec('/usr/local/nginx/html/script.sh'); ?> script.sh #!/bin/bash VIDEOS_DIR=/var/videos YAMDI=/usr/bin/yamdi for i in $VIDEOS_DIR/* do $YAMDI -i $i -o ${i}.flv done Este script funciona, coloca metadata em todos os ficheiros da pagina, porem agora queria alterar este script para algo que recebesse um parametro e executasse um so ficheiro tentei YAMDI=/usr/bin/yamdi cd /var/videos/ $YAMDI -i filme1.flv -o filme1.flv Mas nao esta a dar.. penso que o comando cd nao funciona em scripts.. alguma ideia? Edited May 21, 2013 at 02:37 PM by brunoais geshi
yoda Posted May 21, 2013 at 03:24 PM Report #508232 Posted May 21, 2013 at 03:24 PM Provavelmente tens é esses comandos negados pelo servidor, por questões de segurança. Contacta a entidade responsável pelo servidor e pergunta sobre essa função, mas quase de certeza que está bloqueada como tantas outras. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now