Pergunta

Como posso fazer com que o PDO funcione no meu Mac (OS x 10.5)?Estou usando o php integrado e o php no Zend/Eclipse.Não consigo encontrar drivers úteis para isso.

Foi útil?

Solução

Tive que instalar o driver PDO_PGSQL recentemente no Leopard e me deparei com vários problemas.Em minha busca por respostas, me deparei com essa pergunta.Agora eu o instalei com sucesso e, embora esta questão seja bastante antiga, espero que o que descobri possa ajudar outras pessoas (como eu) que, sem dúvida, terão problemas semelhantes.

A primeira coisa que você precisa fazer é instalar PERA, se ainda não o fez, pois ele não vem instalado no Leopard por padrão.

Depois de fazer isso, use o instalador PECL para baixar o pacote PDO_PGSQL:

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

(Observação:você pode ter que correr pecl como superusuário, ou seja, sudo pecl.)

Depois disso, como o instalador PECL não pode instalar a extensão diretamente, você mesmo precisará compilá-la e instalá-la:

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

Se tudo correr bem, você deverá ter um arquivo chamado "pdo_pgsql.so"sentado em um diretório que deve ser parecido com"/usr/lib/php/extensions/no-debug-non-zts-20060613/" (a instalação do PECL deveria ter gerado o diretório no qual instalou a extensão).

Para finalizar a instalação, você precisará editar seu php.ini arquivo.Encontre a seção chamada "Extensões Dinâmicas" e abaixo da lista de extensões (provavelmente comentadas), adicione esta linha:

extension=pdo_pgsql.so

Agora, supondo que esta seja a primeira vez que você instala extensões PHP, há duas etapas adicionais que você precisa seguir para que isso funcione.Primeiro em php.ini, encontre o extension_dir diretiva (em "Caminhos e diretórios") e altere-a para o diretório que o pdo_pgsql.so arquivo foi instalado em.Por exemplo, meu extension_dir diretiva se parece com:

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

A segunda etapa, se você estiver em um Mac Intel de 64 bits, envolve fazer o Apache rodar no modo de 32 bits.(Se houver uma estratégia melhor, eu gostaria de saber, mas por enquanto, esta é a melhor que consegui encontrar.) Para fazer isso, edite o arquivo da lista de propriedades localizado em /System/Library/LaunchDaemons/org.apache.httpd.plist.Encontre estas duas linhas:

<key>ProgramArguments</key>
<array>

Abaixo deles, adicione estas três linhas:

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

Agora, basta reiniciar o Apache e o PDO_PGSQL estará instalado e funcionando.

Outras dicas

Dê uma olhada neste pacote PECL: PDO_PGSQL

Eu ainda não tentei, mas estou interessado em brincar com o Postgres como uma alternativa ao MySQL.Se eu tiver a chance de tentar em breve, colocarei meus resultados aqui, caso isso ajude.

Não tenho certeza se isso ajudará especificamente com os drivers PDO, mas você pode dar uma olhada MAPStack da BitNami.

Tive muitos problemas com Postgres, PHP e Apache no meu Mac, alguns deles relacionados às versões de 64 e 32 bits de alguns ou de todos eles.Até agora, a instalação do BitNami MAPPStack está funcionando bem em geral.Talvez também ajude com seus problemas de DOP.

Instale a nova versão do php via brew e reinicie o servidor, e php -v, todos os problemas serão removidos.

Isto é o que funcionou para mim

brew install php55-pdo-pgsql

Isso instala o PHP 5.5.32 e o PostgreSQL 9.5.Eu já tinha o PostgreSQL 9.4 instalado, então desinstalei a versão homebrew com:

brew uninstall postgres

Você então deve atualizar /etc/apache2/httpd.conf para apontar para a versão correta do PHP e reiniciar o Apache:

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

Minha versão OSX é Yosemite.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top