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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top