Installazione dei driver PDO per PostgreSQL su Mac (utilizzando Zend per eclipse)
-
09-06-2019 - |
Domanda
Come posso far funzionare PDO sul mio Mac (os x 10.5)?Sto utilizzando php e php integrati in Zend/Eclipse.Non riesco a trovare driver utili per questo.
Soluzione
Recentemente ho dovuto installare il driver PDO_PGSQL su Leopard e ho riscontrato numerosi problemi.Nella mia ricerca di risposte, mi sono imbattuto in questa domanda.Ora l'ho installato con successo e quindi, anche se questa domanda è piuttosto vecchia, spero che ciò che ho trovato possa aiutare altri (come me) che senza dubbio incorreranno in problemi simili.
La prima cosa che dovrai fare è installare PERA, se non l'hai già fatto, poiché non è installato su Leopard per impostazione predefinita.
Dopo averlo fatto, utilizza il programma di installazione PECL per scaricare il pacchetto PDO_PGSQL:
$ pecl download pdo_pgsql
$ tar xzf PDO_PGSQL-1.0.2.tgz
(Nota:potresti dover scappare pecl
come superutente, ad es. sudo pecl
.)
Successivamente, poiché il programma di installazione PECL non può installare direttamente l'estensione, dovrai crearla e installarla tu stesso:
$ cd PDO_PGSQL-1.0.2
$ phpize
$ ./configure --with-pdo-pgsql=/path/to/your/PostgreSQL/installation
$ make && sudo make install
Se tutto va bene, dovresti avere un file chiamato "pdo_pgsql.so
" seduto in una directory che dovrebbe assomigliare a "/usr/lib/php/extensions/no-debug-non-zts-20060613/
" (l'installazione PECL dovrebbe aver restituito la directory in cui è installata l'estensione).
Per finalizzare l'installazione, dovrai modificare il tuo file php.ini
file.Trova la sezione denominata "Estensioni dinamiche" e sotto l'elenco delle estensioni (probabilmente commentate), aggiungi questa riga:
extension=pdo_pgsql.so
Ora, supponendo che sia la prima volta che installi le estensioni PHP, ci sono due passaggi aggiuntivi che devi compiere per farlo funzionare.Primo php.ini
, trovare il extension_dir
(sotto "Percorsi e directory") e modificarlo nella directory in cui si trova il file pdo_pgsql.so
è stato installato il file.Ad esempio, il mio extension_dir
la direttiva è simile a:
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
Il secondo passaggio, se utilizzi un Mac Intel a 64 bit, prevede l'esecuzione di Apache in modalità a 32 bit.(Se esiste una strategia migliore, mi piacerebbe saperlo, ma per ora, questa è la migliore che ho trovato.) Per fare ciò, modifica il file dell'elenco delle proprietà che si trova in /System/Library/LaunchDaemons/org.apache.httpd.plist
.Trova queste due righe:
<key>ProgramArguments</key>
<array>
Sotto di loro, aggiungi queste tre righe:
<string>arch</string>
<string>-arch</string>
<string>i386</string>
Ora basta riavviare Apache e PDO_PGSQL sarà attivo e funzionante.
Altri suggerimenti
Dai un'occhiata a questo pacchetto PECL: DOP_PGSQL
Non l'ho provato personalmente, ma mi interessava giocare con Postgres come alternativa a MySQL.Se avrò la possibilità di provarlo presto, pubblicherò qui i miei risultati nel caso possa essere d'aiuto.
Non sono sicuro che questo possa essere d'aiuto nello specifico con i driver PDO, ma potresti esaminarlo MAPPStack di BitNami.
Ho avuto un sacco di problemi con Postgres, PHP e Apache sul mio Mac, alcuni dei quali avevano a che fare con le versioni a 64 o 32 bit di alcuni o tutti.Finora, l'installazione di BitNami MAPPStack funziona bene in generale.Forse ti aiuterà anche con i tuoi problemi PDO.
Installa la nuova versione di php tramite brew e riavvia il server e php -v, tutti i problemi verranno rimossi.
Questo è ciò che ha funzionato per me
brew install php55-pdo-pgsql
Questo installa PHP 5.5.32 e PostgreSQL 9.5.Avevo già installato PostgreSQL 9.4 quindi ho disinstallato la versione homebrew con:
brew uninstall postgres
Devi quindi aggiornare /etc/apache2/httpd.conf in modo che punti alla versione PHP corretta e riavviare Apache:
LoadModule php5_module /usr/local/Cellar/php55/5.5.32/libexec/apache2/libphp5.so
La mia versione OSX è Yosemite.