2013-10-10 8 views
6

So che ci sono diverse istanze di questa domanda su StackOverflow ma non sto trovando una soluzione.Impossibile installare PDO su CentOS

Sto facendo funzionare CentOS con Apache e PHP 5.3

Uno script .php mi sta dando questo errore:

Fatal error: Class 'PDO' not found in ... 

mi sono imbattuto phpinfo(); e l'unico posto "DOP" esiste la pagina è in la riga "Configure Command" '--disable-pdo'.

Ho tentato #yum install php-pdo ma non esistono pacchetti.

Ho anche tentato #pecl install pdo e ottengo questi errori alla fine:

/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_stmt_instantiate': 
/root/tmp/pear/PDO/pdo_dbh.c:410: error: 'zval' has no member named 'refcount' 
/root/tmp/pear/PDO/pdo_dbh.c:411: error: 'zval' has no member named 'is_ref' 
/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_stmt_construct': 
/root/tmp/pear/PDO/pdo_dbh.c:435: error: 'zend_fcall_info' has no member named 'object_pp' 
/root/tmp/pear/PDO/pdo_dbh.c:458: error: 'zend_fcall_info_cache' has no member named 'object_pp' 
/root/tmp/pear/PDO/pdo_dbh.c: In function 'zim_PDO_setAttribute': 
/root/tmp/pear/PDO/pdo_dbh.c:752: error: 'zval' has no member named 'refcount' 
/root/tmp/pear/PDO/pdo_dbh.c: In function 'zim_PDO_getAttribute': 
/root/tmp/pear/PDO/pdo_dbh.c:818: error: 'zval' has no member named 'refcount' 
/root/tmp/pear/PDO/pdo_dbh.c: In function 'pdo_hash_methods': 
/root/tmp/pear/PDO/pdo_dbh.c:1122: warning: assignment discards qualifiers from pointer target type 
/root/tmp/pear/PDO/pdo_dbh.c:1126: warning: assignment discards qualifiers from pointer target type 
make: *** [pdo_dbh.lo] Error 1 
ERROR: `make' failed 

Poi sul doc php.net fondamentalmente dice il pacchetto viene fornito di serie in installazioni php a partire da PHP 5.1.

Ho aggiunto la riga extension=pdo.so a php.ini e riavviato Apache e il problema persiste. Eventuali suggerimenti?

+0

'php-pdo' è il nome corretto del pacchetto per CentOS. Si presenta se fai 'yum search php-pdo'? –

+0

gli unici risultati che ottengo per yum search pdo sono un sacco di pacchetti "casenoupdown". ho anche eseguito yum clean all e yum update recentemente – chuckieDub

+0

forse questo è il mio problema http://serverfault.com/questions/511779/cant-install-php-pdo – chuckieDub

risposta

1

Anch'io ho avuto un problema simile. Sto usando il codeigniter e ho trovato un errore "pdo_mysql.so non trovato" e ho provato tutto per risolverlo. Devo cercare attraverso le prime 10 pagine dei risultati di ricerca di google per più query. Ho trovato tonnellate di persone con gli stessi problemi ma per qualche motivo nessuno di loro aveva una risposta/correzione. Attraverso tutto questa lettura ho imparato che "DOP e il driver PDO_SQLITE è abilitata di default a partire dal PHP 5.1.0." Questo mi ha fatto pensare: "Forse dovrei rimuovere l'estensione = pdo_mysql.so e pdo.so linee dal mio php.ini! " Ho pensato che php stesse provando a caricare un'estensione che non c'era più da quando è stata creata ora. Abbastanza sicuro, risolto tutto il mio pasticcio di errore php.

PHP 5.4.31 (cli) (built: Aug 19 2014 10:38:48)
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
Server version: Apache/2.2.27 (Unix)
Server built: Aug 19 2014 10:33:30
Cpanel::Easy::Apache v3.26.5 rev9999

0

Sono abbastanza sicuro che manchi il pacchetto PHP_PDO. Prova a trovare il pacchetto PDO eseguendo il comando sotto:

# rpm -qa| grep "pdo" 

miniera mostra php53u-PDO-5.3.26-1.ius.el5

Se si sta utilizzando PHP 5.3 quindi provare

# yum install php53u-pdo 
+2

senza risultati per grep e l'installazione non riesce a trovare il pacchetto. – chuckieDub

0

Non so se è troppo tardi per la risposta, ma posterò se qualcuno trova questo errore.

In primo luogo, avevo installato php-pdo in Centos 7 con yum. Ho visto phpinfo e mostra l'estensione pdo ma non pdo-mysql.

Quindi, se si installa php-mysql (yum installa php-mysql) verrà automaticamente installata l'estensione pdo-mysql.