Как добавить поддержку 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установлены формулы.

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


5
--with-pgsql устарела. Используйте --with-postgresql
tinkerr

Это определенно сработало для меня!
GavinoGrifoni

15

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


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

Я не вижу, как это существенно отличается от предыдущих ответов.
kasperd

Выше команды не работали для меня, это работало.
Mitul

2

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

brew services restart php70

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


1

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


0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.