Onde está o PHP.ini no Mac OS X Lion? Pensei que estava em / usr / local / php5 / lib

268

Eu queria rodar um pouco de PHP no meu Mac, httpd.conf não comentado, compartilhamento na Web ativado, MySQL instalado etc. Não consigo encontrar meus arquivos PHP, principalmente o PHP.ini.

Na minha máquina antiga, ele estava localizado em / usr / local / php5 / lib Mas o diretório php5 não existe em / usr / local ..

Preciso pegar um pacote ou estou procurando no local incorreto?

Executando o OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21

Orun
fonte
9
Uma maneira fácil de encontrar a localização é executar phpinfo ();
ralfe
10
Oulocate php.ini
Pekka
12
@ralfe Deve-se acrescentar que você precisa procurar a configuração 'Loaded Configuration File' em phpinfo () ou php --ini(executar na janela do terminal). Porque, se não houver php.ini, ambos reportarão o caminho do arquivo de configuração como /etc(pelo menos na minha instalação do OS X 10.8). Se nenhum arquivo de configuração é carregado, então você deve tentar a resposta por mac
Jason S
/ usr / local / php5 é onde o instalador php do entropy.ch e liip.ch instala o php. Nunca foi a localização do Apples php-installation.
heiglandreas
8
Faça issophp -i | grep php.ini

Respostas:

396

Você deve encontrá-lo em / private / etc, se existir, caso contrário:

sudo cp /private/etc/php.ini.default /private/etc/php.ini
Mac
fonte
Ok, há um php.ini.default em / private / etc e estou verificando. mas alguma idéia por que não tenho minha antiga pasta php5 em usr / local? Costumava haver um monte de arquivos, incluindo um php.ini recomendado. Isso é uma alteração em uma versão mais recente ou PHP5 ou Lion ou algo mais?
Orun
O PHP5 é incluído por padrão no MacOS X desde 10.5 com o local acima para o arquivo php.ini. Se você o instalou manualmente, ele não deveria ter sido removido durante a atualização para o Lion; estranho ...
mac
2
O arquivo php.ini.default na minha máquina Lion não correspondia a todas as configurações padrão quando nenhum php.ini estava presente. Notavelmente, short_tags estava desativado, relatórios de erro, erros de log e algumas configurações menores diferiram. Você deseja comparar sua saída de php -iantes e depois de criar seu php.ini.
spoulson
1
no meu mac, eu tinha um arquivo no /private/etc/php.ini, mas o php parecia ignorar as alterações que fiz lá, achei que ele estava usando o arquivo em /usr/local/php5/lib/php.ini
Kit Ramos
2
Essa resposta me indicou a direção certa. cp php.ini.default> O php.ini e a configuração carregada da CLI tornaram-se /etc/php.ini. Verifique php -i | grep php.ini depois
bpile 23/07
407

Para localizar o arquivo ini na sua máquina, abra Terminal.appe execute o seguinte comando:

php --ini

Se você precisar de um modelo para o Lion, tente isso .

rkmax
fonte
2
Não tenho o php.ini carregado no momento. Basicamente, estou procurando o diretório com o modelo php.ini "recomendado".
Orun
47

No terminal faça php -i | grep php.ini. Deve lhe dar algumas pistas;)

SpoBo
fonte
26

As respostas de @Cronk e @Justin me aproximaram do Mac OS X 10.9 Mavericks. De fato, no meu sistema, o /etc/php.iniarquivo estava faltando completamente, e foi só quando eu corri phpinfo()no servidor da Web que observei que não havia arquivo de configuração. Copiar o arquivo /etc/php.ini.defaulte adicionar o caminho completo à mcrypt.sobiblioteca no arquivo de configuração resolveu o problema:

cp /etc/php.ini.default /etc/php.ini

Em seguida, /etc/php.iniadicione a seguinte linha (usando o caminho correto para o seu mcrypt.soarquivo):

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

Em seguida, reinicie o Apache2:

apachectl restart
Peter Gluck
fonte
omg, você é meu herói !! obrigado pela idéia de usar o caminho completo do mcrypt!
Hese
25

Como apontado, o php --inicomando informará onde o PHP espera encontrar o arquivo php.ini.

Para uma instalação padrão, é provável que você esteja procurando /etc/php.ini

Se você já usou macports , o PHP pode estar procurando/opt/local/etc/php5/php.ini

Joat
fonte
7
etc é um link para particulares / etc / etc: -> privadas / etc
pm_labs
21

Execute a phpinfo()partir de qualquer arquivo e ele indica onde está. Aqui está uma captura de tela.

insira a descrição da imagem aqui

Robert Rocha
fonte
3
este é o melhor caminho a percorrer, pois você pode encontrar cópias do php.ini em outras pastas "padrão", mas dessa forma você informará o que está realmente usando, para evitar os riscos e frustrações que ocorrem quando você faça uma mudança, mas o php parece não ter conhecimento da mudança.
Kit Ramos
Você também pode abrir o php REPL no seu shell, executando php -aonde você executa phpinfo();.
metakermit 23/02
14

Eu tenho mais de uma instância do PHP em execução, portanto as outras respostas não funcionaram para mim. Isso fez:

Crie um arquivo PHP e abra seu URL local no seu navegador:

<?php phpinfo(); ?>

O caminho PHP.INI será listado próximo ao topo.

Justin
fonte
3

Este é um tópico bastante antigo, mas gostaria de acrescentar mais esclarecimentos.

Se você tem um sistema que possui várias instalações PHP (como a minha) os resultados obtidos com o uso das ferramentas de linha de comando PODEM SER diferentes do que é realmente usado pelo servidor da web. Se você estiver interessado no uso do PHP pelo servidor da Web, use apenas as informações coletadas de uma página da Web que utilize a função 'phpinfo ()'.

Por exemplo, no meu sistema, as versões relatadas pelos dois métodos diferentes eram:

Linha de comando: 5.3.26

Web: 5.3.13

Para o caminho do arquivo php.ini, as coisas também eram diferentes:

Linha de comando: /private/etc/php.ini

Web: /long/path/to/the/file/php.ini

Você pode encontrar todos os arquivos php.ini possíveis usando este:

encontre / -name php.ini 2> & 1 | grep -v "negado" | grep -v "diretório"

(os elementos '2> & 1' e 'grep' apenas restringem a saída do comando a informações úteis, como livrar-se de mensagens de erro)

No meu sistema, encontrei 3 arquivos INI. Como estava interessado no que o servidor da web estava usando, sabia que deveria usar o caminho retornado dos resultados da página da web. Fiz minhas alterações no arquivo php.ini listado lá, reiniciei o apache e reexecutei a página da web; as novas edições foram mostradas lá.

Para reiniciar o apache:

sudo apachectl -k restart

- J

Cronk
fonte
1

Começo com o 'Hello World!', Uma vez que eu apareço no meu navegador, jogo phpinfo();lá e você pode ver todas as coisas. Informa quais configurações são carregadas, tudo.

<?php
   echo 'Hello World!';

   phpinfo();
CenterOrbit
fonte
0

Você roda php_info () e vê a linha abaixo :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Quy Le
fonte