Script shell agora trabalhando em post / get request

1

Eu tenho um script simples no php para buscar arquivos do meu repositório github

<?php
  echo shell_exec('git pull');
?>

Quando eu ssh no meu servidor e executo este script assim:

php github.php

Eu vejo uma saída desse tipo e os arquivos estão realmente atualizados

remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 3 (delta 1)
Unpacking objects: 100% (3/3), done.
From https://github.com/vivek1729/Test
 bbe5690..57169ec  master     -> origin/master
Content-type: text/html

Updating bbe5690..57169ec
Fast-forward
 index.html |    2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

No entanto, quando executo esse script pelo navegador, não vejo nenhuma saída e a solicitação do git pull não ocorre. As permissões para github.php são padrão e são as seguintes:

rw-r--r-- 1 vivekpradhan inetuser  882 Jun  3 09:26 github.php

Também tentei chown o arquivo para o usuário do apache. Para descobrir o nome do usuário da web do apache. Eu corri echo shell_exec('whoami'); e a saída "vivekpradhan". Então eu acho que o usuário da web apache tem acesso ao arquivo em particular.

Eu estou em um servidor godaddy rodando o CentOS. Como faço para que o script funcione em um pedido de obtenção / postagem do navegador?

Isso tem a ver com as permissões de alguns arquivos no servidor linux? Eu já tenho git instalado no servidor. Qualquer ajuda é profundamente apreciada.

    
por Vivek Pradhan 04.06.2013 / 15:11

1 resposta

0

Você precisa cd para o diretório correto primeiro. Scripts executados pelo servidor da Web geralmente são executados na raiz do documento ( /var/www ). Além disso, o diretório deve ser gravável para o servidor da Web (usuário www-data ).

    
por mirabilos 02.03.2014 / 00:53