Como adicionar suporte ao Postgres ao PHP instalado pelo Homebrew?

18

Eu já instalei e configurei a nova versão do PHP com o Homebrew, incluindo suporte ao MySQL e XDebug. Isso funciona bem. No entanto, eu preciso instalar o suporte para o PostgreSQL também. Como eu posso fazer isso?

Eu descobri que é fácil instalar o PHP pela primeira vez, apenas adicionando a opção:

homebrew install php53 --with-pgsql

Como posso obter algo semelhante quando meu PHP já está instalado, sem reinstalá-lo completamente? Ou, se eu reinstalar, todas as configurações e configurações adicionais, como o XDebug, são mantidas?

Pavel S.
fonte
O mesmo se aplica a --with-mysql, eu acho ...

Respostas:

22

brew helpnão mostra todas as opções disponíveis. Para obter mais detalhes sobre todos os comandos disponíveis, consulte man brew. No seu caso, você pode executar o comando reinstalar:

brew reinstall php53 --with-postgresql

De acordo com a página do manual brew, isso é sinônimo de executar desinstalação e instalação. Parece que o brew fará backup dos arquivos de configuração conhecidos primeiro.

Se o brew reclamar por não conseguir encontrar pg_config, isso significa que você precisa instalar postgresqlprimeiro - tem que ser postgresql; caso contrário, nunca encontrará pg_config. Passei uma quantidade excessiva de tempo tentando descobrir por --with-pgsqlque não funcionaria quando eu tivesse as postgresql92fórmulas instaladas.

Pessoalmente, posso confirmar que ele não removerá nenhum arquivo de configuração personalizado.

dohpaz42
fonte
5
--with-pgsql está obsoleto. Use --with-postgresql
tinkerr
Isso definitivamente funcionou para mim!
GavinoGrifoni
15

Quando o php já está instalado, você pode simplesmente executar brew install php55-pdo-pgsql

user219328
fonte
2
isto é para o driver DOP apenas, não a extensão pgsql
Vinicius Pinto
3

Se você usa o Homebrew:

ls /usr/local/Cellar/|grep php
php54

Como você pode ver, minha versão do homebrew é para o PHP 5.4, então eu procuro o Homebrew com:

brew search php54

Nos resultados da pesquisa, entendo php54-pdo-pgsql.

Então, eu instalo o driver com:

brew install php54-pdo-pgsql

Então reinicie o PHP.

taco
fonte
3

Thy que segue no Mac OS X se você já tem o php instalado.

brew install homebrew/php/php55-pdo-pgsql
Mitul
fonte
Não vejo como isso seja substancialmente diferente das respostas anteriores.
kasperd
Os comandos acima não funcionaram para mim, isso funcionou.
Mitul
2

Se você instalou o php com o brew, precisará reiniciar o php depois de instalar qualquer módulo:

brew services restart php70

Depois disso, você pode usar o novo módulo instalado.

Ricardo
fonte
1

Eu tive um problema semelhante com o PHP55 e o resolvi com a desinstalação (brew uninstall php55) e a reinstalação (brew install php55 --with-postgresql).

Asle
fonte
0

Semelhante às respostas acima, embora nenhuma delas tenha funcionado bem o suficiente no meu caso, usei em brew reinstall php70 --with-postgresqlvez de desinstalar, que falhou devido a dependências vinculadas.

Siga isso brew services restart php70como sugerido acima e sudo apachectl restartpara uma boa medida.

danjah
fonte