Как добавить поддержку Postgres в PHP, установленный Homebrew?

18

Я уже установил и настроил новую версию PHP с Homebrew, включая поддержку MySQL и XDebug. Это отлично работает. Однако мне нужно также установить поддержку PostgreSQL. Как мне это сделать?

Я понял, что это легко при первой установке PHP, просто добавив опцию:

homebrew install php53 --with-pgsql

Как я могу добиться чего-то подобного, когда мой PHP уже установлен, не переустанавливая его полностью? Или, если я переустановлю, все ли конфиги и дополнительные настройки, такие как XDebug, сохранятся?

Павел С.
источник
То же самое относится и к --with-mysql, наверное ...

Ответы:

22

brew helpне показывает все доступные опции Чтобы получить более подробную информацию обо всех доступных командах, см man brew. В вашем случае вы можете запустить команду переустановки:

brew reinstall php53 --with-postgresql

Согласно странице справочника brew, это синоним запуска удаления и последующей установки. Похоже, что brew сначала создаст резервные копии известных файлов конфигурации.

Если brew жалуется на невозможность найти pg_config, то это означает, что вам нужно postgresqlсначала установить - так и должно быть postgresql; иначе это никогда не будет найдено pg_config. Я потратил слишком много времени, пытаясь понять, почему --with-pgsqlне работает, когда у меня postgresql92установлены формулы.

Я могу лично подтвердить, что он не будет удалять любые пользовательские файлы конфигурации.

dohpaz42
источник
5
--with-pgsql устарела. Используйте --with-postgresql
tinkerr
Это определенно сработало для меня!
GavinoGrifoni
15

Когда php уже установлен, вы можете просто запустить brew install php55-pdo-pgsql

user219328
источник
2
это только для драйвера pdo, а не для расширения pgsql
Vinicius Pinto
3

Если вы используете Homebrew:

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

Как вы можете видеть, моя домашняя версия для PHP 5.4, поэтому я ищу Homebrew с:

brew search php54

В результатах поиска я вижу php54-pdo-pgsql.

Итак, я устанавливаю драйвер с:

brew install php54-pdo-pgsql

Затем перезапустите PHP.

тако
источник
3

Следуйте инструкциям на Mac OS X, если у вас уже установлен php.

brew install homebrew/php/php55-pdo-pgsql
Mitul
источник
Я не вижу, как это существенно отличается от предыдущих ответов.
kasperd
Выше команды не работали для меня, это работало.
Mitul
2

Если вы установили php с помощью brew, вам необходимо перезапустить php после установки любого модуля:

brew services restart php70

После этого вы можете использовать новый установленный модуль.

Рикарду
источник
1

У меня была похожая проблема с PHP55, и я решил ее с помощью удаления (brew uninstall php55) и переустановки (brew install php55 --with-postgresql).

Asle
источник
0

Подобно приведенным выше ответам, хотя ни один из них не работал достаточно хорошо в моем случае, я использовал brew reinstall php70 --with-postgresqlвместо un / install, что не удалось из-за связанных зависимостей.

Следуйте этому, brew services restart php70как предложено выше, и sudo apachectl restartдля хорошей меры.

danjah
источник