Я уже установил и настроил новую версию PHP с Homebrew, включая поддержку MySQL и XDebug. Это нормально работает. Однако мне также необходимо установить поддержку PostgreSQL. Как мне это сделать?
Я понял, что при первой установке PHP это просто, просто добавив параметр:
homebrew install php53 --with-pgsql
Как я могу добиться чего-то подобного, если мой PHP уже установлен, без его полной переустановки? Или, если я переустановлю, все конфигурации и дополнительные настройки, такие как XDebug, сохранятся?
brew help
не показывает все доступные варианты. Чтобы получить более подробную информацию обо всех доступных командах, см. man brew
. В вашем случае вы можете запустить команду переустановки:
brew reinstall php53 --with-postgresql
Согласно странице руководства brew, это синоним запуска удаления и последующей установки. Похоже, что brew сначала создаст резервную копию известных файлов конфигурации.
Если варево жалуется, что не может найти pg_config
, значит, вам нужно установить postgresql
во-первых - это должно быть postgresql
; иначе никогда не найду pg_config
. Я потратил слишком много времени, пытаясь понять, почему --with-pgsql
не работал бы, когда у меня был postgresql92
формулы установлены.
Я могу лично подтвердить, что он не удалит никакие пользовательские файлы конфигурации.
Когда php уже установлен, вы можете просто запустить brew install php55-pdo-pgsql
Если вы используете Homebrew:
ls /usr/local/Cellar/|grep php
php54
Как видите, моя версия Homebrew предназначена для PHP 5.4, поэтому я ищу Homebrew с помощью:
brew search php54
В результатах поиска я вижу php54-pdo-pgsql
.
Итак, я устанавливаю драйвер с помощью:
brew install php54-pdo-pgsql
Затем перезапустите PHP.
Thy Follow on Mac OS X, если у вас уже установлен php.
brew install homebrew/php/php55-pdo-pgsql
Если вы установили php с помощью brew, вам необходимо перезапустить php после установки любого модуля:
brew services restart php70
после этого вы можете использовать новый установленный модуль.
У меня была аналогичная проблема с PHP55, и я решил ее с удалением (brew uninstall php55) и переустановкой (brew install php55 --with-postgresql).
Подобно приведенным выше ответам, хотя ни один из них не работал достаточно хорошо в моем случае, я использовал brew reinstall php70 --with-postgresql
а не удалить / установить, что не удалось из-за связанных зависимостей.
Следуйте за этим с brew services restart php70
как предложено выше, и sudo apachectl restart
для хорошей меры.