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

StackOverflow https://stackoverflow.com/questions/61747

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Первое, что вам нужно будет сделать, это установите ГРУШУ, если вы еще этого не сделали, поскольку по умолчанию он не установлен в 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 директива выглядит следующим образом:

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 будет запущен.

Другие советы

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

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

Я не уверен, что это поможет конкретно с драйверами PDO, но вы могли бы заглянуть в Картографический стек BitNami.

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

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

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

brew install php55-pdo-pgsql

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

brew uninstall postgres

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top