tags:

views:

437

answers:

2

Hi

I have been given access to a CentOS5 machine by my client for their new site which uses Zend Framework.

phpinfo() states in Configure Command that PDO is disabled ('--disable-pdo'). How can enable it? Do I need to recompile PHP5 to enable it?

I have tried adding 'extension=pdo.so' in php.ini and restarting Apache, but this didn't work.

It would also be nice to understand what '--disable-pdo' actaully means, does it mean it's not compiled into PHP or does it mean its just not enabled?

Thanks for your time

+1  A: 

Not compiled. Install it from your distro's repositories, eg. yum install php-pdo.

jholster
Ah thanks Yaggo - that installed fine.I notice on my phpinfo() that its only installed for sqlite and not for mysql. Is there another package that needs to be installed to enable this?
jakenoble
You need specific driver, try _yum search mysql pdo_.
jholster
Thought I should follow this up, I used yum install php-pdoFollowed by yum install php-mysqlThe second install for php-mysql failed, saying that my.cnf conflicted. I then restarted Apache and tried again and it worked fine.
jakenoble
A: 

While Yaggo's suggestion solves the underlying problem the requester had, in the case where yum is not available (in my case due to painfully restrictive policies by the server administrators), there is a pure PHP library that can bridge the gap called PHPPDO.

It has a couple of caveats, but works pretty well.

  1. You should not extend PHPPDO or the statement object, because that will break the compatibility.
  2. Cursors are not supported.
Shabbyrobe