Подтвердить что ты не робот

Установка PDO-драйверов для PostgreSQL на Mac (с использованием Zend для eclipse)

Как я могу заставить PDO работать на моем mac (os x 10.5)? Я использую встроенные php и php в Zend/Eclipse. Кажется, он не может найти полезные драйверы для него.

4b9b3361

Ответ 1

Мне пришлось установить драйвер PDO_PGSQL недавно на Leopard, и я столкнулся с множеством проблем. В поисках ответов я наткнулся на этот вопрос. Теперь я его успешно установил, и поэтому, хотя этот вопрос довольно старый, я надеюсь, что то, что я нашел, может помочь другим (таким как я), которые, несомненно, столкнутся с аналогичными проблемами.

Первое, что вам нужно сделать, это установить PEAR, если вы еще этого не сделали, поскольку он не приходит установленный на Leopard по умолчанию.

Как только вы это сделаете, используйте программу PECL для загрузки пакета PDO_PGSQL:

$ pecl download pdo_pgsql
$ tar xzf PDO_PGSQL-1.0.2.tgz

(Примечание: вам может потребоваться запустить pecl как суперпользователь, т.е. sudo pecl.)

После этого, поскольку установщик PECL не может установить расширение напрямую, вам необходимо его самостоятельно установить и установить:

$ cd PDO_PGSQL-1.0.2
$ phpize
$ ./configure --with-pdo-pgsql=/path/to/your/PostgreSQL/installation
$ make && sudo make install

Если все пойдет хорошо, у вас должен быть файл под названием "pdo_pgsql.so", расположенный в каталоге, который должен выглядеть примерно так: "/usr/lib/php/extensions/no-debug-non-zts-20060613/" (установка PECL должна была выводить каталог, в который он установил расширение).

Чтобы завершить установку, вам необходимо отредактировать файл php.ini. Найдите раздел с надписью "Динамические расширения", а под списком (возможно, прокомментированных) расширений добавьте эту строку:

extension=pdo_pgsql.so

Теперь, предполагая, что это первый раз, когда вы установили расширения PHP, необходимо выполнить два дополнительных шага, чтобы добиться этого. Сначала в php.ini найдите директиву extension_dir (в разделе "Пути и каталоги" ) и измените ее на каталог, в который был установлен файл pdo_pgsql.so. Например, моя директива extension_dir выглядит так:/p >

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"

Второй шаг, если вы используете 64-разрядный Intel Mac, включает в себя запуск Apache в 32-разрядном режиме. (Если есть лучшая стратегия, я бы хотел знать, но на данный момент это лучшее, что я мог найти.) Для этого отредактируйте файл списка свойств, расположенный в /System/Library/LaunchDaemons/org.apache.httpd.plist. Найдите эти две строки:

<key>ProgramArguments</key>
<array>

Под ними добавьте следующие три строки:

<string>arch</string>
<string>-arch</string>
<string>i386</string>

Теперь просто перезапустите Apache, и PDO_PGSQL будет запущен.

Ответ 2

Взгляните на этот пакет PECL: PDO_PGSQL

Я сам не пробовал, но мне было интересно играть с Postgres в качестве альтернативы MySQL. Если у меня будет возможность попробовать это в ближайшее время, я приложу свои результаты здесь, если это поможет.

Ответ 3

Я не уверен, что это поможет с драйверами PDO специально, но вы можете посмотреть BitNami MAPPStack.

У меня было много проблем с Postgres, PHP и Apache на моем Mac, некоторые из которых связаны с 64-битными версиями некоторых или всех из них. Пока что установка BitNami MAPPStack работает в целом. Возможно, это также поможет с вашими проблемами PDO.

Ответ 4

Установите новую версию php через brew и перезапустите сервер, а php -v все проблемы будут удалены.

Ответ 5

Это то, что сработало для меня

brew install php55-pdo-pgsql

Это устанавливает PHP 5.5.32 и PostgreSQL 9.5. У меня уже установлен PostgreSQL 9.4, поэтому я удалил версию homebrew с помощью

brew uninstall postgres

Затем вам необходимо обновить /etc/apache 2/httpd.conf, чтобы указать на правильную версию PHP и перезапустить Apache:

LoadModule php5_module /usr/local/Cellar/php55/5.5.32/libexec/apache2/libphp5.so

Моя версия OSX - Yosemite.