Jak dodać obsługę Postgres do PHP zainstalowanego przez Homebrew?

18

Zainstalowałem już i skonfigurowałem nową wersję PHP z Homebrew, w tym obsługę MySQL i XDebug. To działa dobrze. Jednak muszę również zainstalować obsługę PostgreSQL. Jak mogę to zrobić?

Doszedłem do wniosku, że instalowanie PHP po raz pierwszy jest łatwe, po prostu dodając opcję:

homebrew install php53 --with-pgsql

Jak mogę osiągnąć coś podobnego, gdy mój PHP jest już zainstalowany, bez ponownej instalacji? Lub, jeśli przeinstaluję, czy wszystkie konfiguracje i dodatkowe ustawienia, takie jak XDebug, zostaną zachowane?

Pavel S.
źródło
To samo dotyczy --with-mysql, jak sądzę ...

Odpowiedzi:

22

brew helpnie pokazuje wszystkich dostępnych opcji. Aby uzyskać więcej informacji o wszystkich dostępnych poleceniach, zobacz man brew. W twoim przypadku możesz uruchomić polecenie ponownej instalacji:

brew reinstall php53 --with-postgresql

Według strony brew man jest to równoznaczne z uruchomieniem deinstalacji, a następnie instalacji. Wygląda na to, że napar najpierw utworzy kopię zapasową znanych plików konfiguracyjnych.

Jeśli brew skarży się na brak możliwości znalezienia pg_config, oznacza to, że musisz postgresqlnajpierw zainstalować - musi być postgresql; inaczej nigdy się nie znajdzie pg_config. Spędziłem nadmiernie dużo czasu próbując dowiedzieć się, dlaczego --with-pgsqlnie miałbym działać, gdy mam postgresql92zainstalowane formuły.

Mogę osobiście potwierdzić, że nie usunie żadnych niestandardowych plików konfiguracyjnych.

dohpaz42
źródło
5
--with-pgsql jest przestarzałe. Użyj --with-postgresql
tinkerr
To zdecydowanie działało dla mnie!
GavinoGrifoni,
15

Gdy php jest już zainstalowany, możesz po prostu uruchomić brew install php55-pdo-pgsql

użytkownik219328
źródło
2
dotyczy tylko sterownika pdo, a nie rozszerzenia pgsql
Vinicius Pinto
3

Jeśli używasz Homebrew:

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

Jak widać, moja wersja Homebrew jest przeznaczona dla PHP 5.4, dlatego szukam Homebrew za pomocą:

brew search php54

Widzę w wynikach wyszukiwania php54-pdo-pgsql.

Tak więc instaluję sterownik z:

brew install php54-pdo-pgsql

Następnie uruchom ponownie PHP.

taco
źródło
3

Thy Follows na Mac OS X, jeśli masz już zainstalowany php.

brew install homebrew/php/php55-pdo-pgsql
Mitul
źródło
Nie rozumiem, jak to zasadniczo różni się od wcześniejszych odpowiedzi.
kasperd
Powyższe polecenia nie działały dla mnie, to działało.
Mitul
2

Jeśli zainstalowałeś php z brewem, musisz ponownie uruchomić php po zainstalowaniu dowolnego modułu:

brew services restart php70

potem możesz użyć nowego zainstalowanego modułu.

Ricardo
źródło
1

Miałem podobny problem z PHP55 i rozwiązałem go poprzez odinstalowanie (brew uninstall php55) i ponowną instalację (brew install php55 --with-postgresql).

Asle
źródło
0

Podobne do powyższych odpowiedzi, chociaż żadna z nich nie działała wystarczająco dobrze w moim przypadku, użyłem brew reinstall php70 --with-postgresqlzamiast odinstalować, co nie powiodło się z powodu powiązanych zależności.

Postępuj zgodnie z brew services restart php70powyższymi wskazówkami i sudo apachectl restartna wszelki wypadek.

Danjah
źródło