O usuário no grupo www-data não consegue encontrar o comando

2

Instalei um novo aplicativo e desejo executá-lo por meio de um script php (sistema e função exec), para que outros possam executá-lo em seus navegadores. Eu tentei executar esse script php no meu terminal no local como "php shell.php", e funciona, no entanto, quando eu visito esta página php, ele diz Command não encontrado. Ele também funciona no terminal quando eu entrei em uma nova conta (criada após o novo aplicativo instalado) e a conta de convidado.

Acho que isso pode ser causado pelas configurações do PATH, mas por que uma nova conta pode ser executada corretamente (pode ser que o PATH seja global)?

    
por user828387 05.04.2012 / 06:02

1 resposta

1

O PATH é definido apenas como um valor mínimo para todo o sistema e pode não incluir onde quer que seu aplicativo esteja. Você precisa definir o PATH do servidor da Web para afetar o modo como seu aplicativo é executado pelos scripts da Web.

Você provavelmente deve ter seu script PHP simplesmente adicionando o diretório necessário ao PATH logo antes de chamar 'system' ou 'exec'. Isso manterá a alteração contida neste script.

Outra opção que pode ser preferível é apenas chamar o aplicativo pelo nome do caminho completo, para que você não precise procurar o caminho para ele. Então, se estiver em / usr / local / bin, faça / usr / local / bin / myapp.

    
por SpamapS 24.04.2012 / 00:22