Você deve criar o link em uma das pastas listadas na variável PATH
. Execute echo $PATH
para ver a lista de caminhos. Depois que o link for criado em um desses caminhos, você não precisará mais preceder ./
Eu tenho XAMPP
instalado e meu PHP é:
/opt/lampp/bin/php-5.3.8
Sempre que preciso executar um arquivo PHP, preciso fazer isso:
/opt/lampp/bin/php-5.3.8 testando.php
Existe outra maneira de executá-lo além de usar o link simbólico?
Eu fiz isso em /etc/init.d/
:
sudo ln -s /opt/lampp/bin/php-5.3.8 php
Por que quando eu preciso rodar o PHP eu tenho que fazer isso ./php
ao invés de apenas php
?
E existe uma maneira de fazer isso sem o ./
? Como foi instalado via apt-get
?
php
não era um script de inicialização, você nunca deve colocar isso em /etc/init.d
Normalmente, você deve ter um link de símbolo chamado php
in /opt/lampp/bin/
, que está vinculado a /opt/lampp/bin/php-5.3.8
(Se não, faça ln -s /opt/lampp/bin/php-5.3.8 /opt/lampp/bin/php
para fazer isso funcionar)
E no seu ~ / .bashrc, adicione mais caminho ao $ PATH:
export PATH=$PATH:/opt/lampp/bin/
E você executa seu script assim, em qualquer diretório:
php XX.php
Faça um link simbólico do executável que você deseja executar por nome para um local em seu PATH .
ln -s ../../../opt/lampp/bin/php-5.3.8 /usr/local/bin/php
O PATH padrão não contém o diretório atual, porque é incomum mudar para um diretório que contenha um executável antes de executá-lo.
Não atrapalhe os diretórios do sistema. /etc/init.d
contém scripts que iniciam e param os serviços do sistema; este não é o lugar para colocar um link para um intérprete.
Crie um arquivo /etc/profile.d/php_alias.sh ::
alias php='/opt/lampp/bin/php-5.3.8'
(reinicie o bash)