If your having problems re-compiling PHP with PDO as shared module try this.--enable-pdo=shared--with-pdo-mysql=shared,/usr/local/mysql--with-sqlite=shared--with-pdo-sqlite=shared1.
If PDO is built as a shared modules, all PDO drivers must also bebuilt as shared modules.2.
If ext/pdo_sqlite is built as a shared module, ext/sqlite must alsobe built as a shared module.3.
Usage examples: If you intend on extending PDOStatement and your using set Attribute(PDO:: ATTR_STATEMENT_CLASS, ...)you must override the __construct() of your PDOStatement class.failure to do so will result in an error on any PDO::query() call. PDO-query]: SQLSTATE[HY000]: General error: user-supplied statement does not accept constructor arguments Here is a minimum PDO and PDOStatement class If you use $dbh = new PDO('pgsql:host=localhost;dbname=test_basic01', $user, $pass); and you get the following error: PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE  could not connect to server: Connection refused\n\t Is the server running on host "localhost" and accepting\n\t TCP/IP connections on port 5432?
'then as pointed out under pg_connect at: ******you should try to leave the host= and port= parts out of the connection string.
This sounds strange, but this is an "option" of Postgre.
If you have not activated the TCP/IP port in then postgresql doesn't accept any incoming requests from an TCP/IP port.
If you use host= in your connection string you are going to connect to Postgre via TCP/IP, so that's not going to work.