Forçar o Ubuntu a identificar a instalação do LAMP php

0

Eu instalei o LAMP no meu ambiente ubuntu (16.04) que tem apache, php (7.0.9), mysql ...

Embora a funcionalidade do php esteja lá, quando eu digito 'php -v' no terminal, recebo a mensagem

The program 'php' can be found in the following packages
* php7.0-cli
* hhvm

que, como eu entendo, significa que o ubuntu não reconhece a instalação do php a partir do LAMP.

Existe uma maneira de dizer ao Ubuntu que existe uma instalação do php em opt / lamp ... para reconhecê-lo?

    
por Mario 20.09.2016 / 13:12

1 resposta

2

A mensagem que você vê é acionada por uma função do shell chamada command_not_found_handle definida no bashrc do seu sistema ( /etc/bash.bashrc ). Esta função é chamada pelo bash quando você digita o nome de um binário que não é encontrado no PATH atual. No Ubuntu, isso usa uma ferramenta chamada comando-not-found para pesquisar sua entrada em um banco de dados de pacotes e sugerir um pacote que possa conter o comando que você digitou.

Dependendo de como você instalou sua pilha LAMP - usando o apt-get muito ou desbloqueando um arquivo tar grande - existem duas respostas para sua pergunta.

Caso você tenha apt-get todos os aplicativos de pilha, você não instalou o pacote php-cli. Nesse caso, você pode fazer sudo apt-get install php7.0-cli e está bem.

Na sua pergunta você menciona /opt/lamp , o que sugere que você fez a coisa unblob-a-tar. Isso significa que você deve ter um binário php cli em algum lugar em um diretório bin sob seu /opt/lamp . O que você pode fazer é

  1. Chame-o usando um caminho absoluto, ou seja, /opt/lamp/bin/php -v : isso é perfeito se você o chamar agora e depois
  2. Você pode adicionar um link simbólico na sua pasta bin, por exemplo, ln -s /opt/lamp/bin/php /usr/bin/php : útil se a versão LAMP for a única versão em seu sistema e você a usar regularmente
  3. Adicione o caminho da pasta bin ao seu ambiente PATH: você pode usar isso se o LAMP for uma parte integral de seu sistema

bin/php é apenas um exemplo aqui - seu binário real pode estar em um diretório diferente com um nome diferente. Substitua-o pelo caminho correto depois de encontrá-lo.

Se você instalar um pacote binário completo em /opt , poderá ser uma boa ideia verificar se, e em caso afirmativo, como ele usa as bibliotecas existentes em seu sistema principal. Você pode fazer isso emitindo ldd /opt/lamp/bin/php e verificar os caminhos das libs que são impressas. Às vezes, você tem problemas quando esses binários ainda usam as bibliotecas do sistema, mas esperam versões diferentes.

    
por FredFoo 21.09.2016 / 00:22