“php: comando não encontrado” depois de alterar os arquivos do sistema PHP no OS X

1

Eu queria instalar o Symfony no Mac OS X Lion. Aparentemente, como o MAMP já estava instalado no meu computador, houve um problema com o campo "timezone" no arquivo php.ini. Não me lembro exatamente do erro, mas, basicamente, a instalação do Symfony exigiu um fuso horário como "Europa / Paris", mas o MAMP aparentemente mudou essa parte.

Bem, é muito vago, mas eu vi na web que outras pessoas tinham o mesmo problema. Então eu tentei uma das soluções que encontrei (sem sucesso), mas:

  1. Não funcionou.
  2. Eu não posso mais usar o comando php ("-bash: php: command not found"). Não me lembro dos comandos exatos que fiz para voltar.

Aqui estão alguns comandos relevantes em potencial que encontrei na minha história e que correspondem ao começo do meu problema, nesta ordem:

sudo mv /usr/bin/php /usr/bin/php-old
sudo ln -s /Applications/MAMP/bin/php5/bin/php /usr/bin/php
rm /usr/bin/php-old
sudo cp php.ini.default /etc/php.ini
rm php.ini but I don't know anymor in which repertory I was. 
sudo mv /usr/bin/php-old /usr/bin/php
    
por Aurelien Porte 14.05.2012 / 21:59

1 resposta

1

O que você fez?

Ao executar

sudo rm /usr/bin/php-old

você poderia ter excluído sua instalação original do PHP depois de renomeá-la. Se você acabou de executar o comando sem sudo , provavelmente não foi possível removê-lo, pois o arquivo é de propriedade de root , não do usuário normal.

Tente:

sudo mv /usr/bin/php-old /usr/bin/php

E verifique se está inserindo php -v . Se sim, tudo bem. Caso contrário, o seu sistema php desapareceu. Tente restaurá-lo a partir de um backup.

Como restaurar php de um backup:

Veja como, se você tiver o Time Machine:

Primeiro, observe o nome do seu volume do Time Machine. Em seguida, obtenha o nome do seu computador e também descubra como seu volume de inicialização é chamado. Estes são rotulados 1 , 2 e 3 na captura de tela a seguir, para que o volume do Time Machine seja chamado TimeMachine em meu computador (isso é chamado charon ), e o volume de inicialização é chamado Macintosh HD .

Agora,noterminal,digite:

cd"/Volumes/TimeMachine/Backups.backupdb/charon/Latest/Macintosh HD/usr/bin/"

Substitua os nomes em negrito pelos acima. Se isso for bem sucedido, enquanto você ainda estiver na mesma pasta Terminal, execute:

sudo cp php /usr/bin/php

Isso copiará php do seu volume do Time Machine para o disco rígido local. Você está feito. Verifique digitando php -v se tudo funcionou.

Se você, de alguma forma, tiver feito backup ou sobrescrito seu último backup, também poderá restaurar a partir do backup mais antigo.

Digite o seguinte, substituindo os nomes como fizemos antes:

cd "/Volumes/TimeMachine/Backups.backupdb/charon"

Então:

cd $(ls -r1 | tail -n 1)

Isso vai para o seu backup mais antigo. Agora entre (e não esqueça de substituir o nome do volume):

cd "Macintosh HD/usr/bin"

E copie de volta php , semelhante ao comando acima:

sudo cp php /usr/bin/php

Se você quiser alterar php.ini

Normalmente, o MAMP não usará /etc/php.ini , mas usará seu próprio arquivo php.ini colocado na pasta do aplicativo MAMP. Então você tem que mudar isso se você quiser modificar o comportamento do MAMP.

Se você quiser usar o php do MAMP

Observação: isso é opcional.

Se você realmente quiser usar o php do MAMP no sistema um, faça o seguinte (a menos que tenha um arquivo chamado .profile , use-o):

open -e ~/.bash_profile

O TextEdit será aberto e você editará seu perfil bash, que define variáveis importantes de ambiente. Aqui, adicione a seguinte linha:

export PATH=/Applications/MAMP/bin/php5/bin/:$PATH

Em seguida, salve o arquivo, saia e, no terminal, execute o comando:

source ~/.bash_profile

Agora, execute which php e ele deve apontar para a pasta MAMP. A saída de php -v também deve ser agora de php do MAMP.

    
por 14.05.2012 / 22:11