wampserver xampp下PHP使用PDO 支持postgresql

今天把公司的任务拿回家在win7下调试。

结果发现不能正常运行,后台也登陆不进去。

报错是:query返回non-object。

以为是路径的变动,调整路径,逐一验证相关变量,都OK,还是错误,于是测试了一下pdo类的getInstance方法。问题出来了,反回的竟然是空值。

那么证明这个有问题了。因为在公司是正常运行的。那么回到家里有什么变化呢。


最后终于发现了use pdo,数据库使用的是postgresql。因为在公司里使用的是wampserver,在家里使用的是xampp,前者使用时,安装了PDO,后者没有。


安装PDO后,运行正常,成功进入。


现在把两个套件应用PDO操作PG的方法记录下来,分享给大家。

首先,两者的原理是差不多的,修改php.ini的配置,然后加载、注册DLL。这里的DLL很简单,拷贝就好。

因为两者DLL位置和文件需要不同的修改,先说下ini

开启这两项。

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

重启apache。

第二部:DLL


wampserver

只需要libpg.dll即可,这个文件可以从网上下载,也可以在完整版的里面抽取(未亲试)。将这个文件放在windows\system32下(未尝试),或是放在wamp里的apache目录下(已尝试,成功),重启wamp。


xampp

\xampp\php\libeay32.dll、libpq.dll、ssleay32.dll 放到C:\windows\system目录下。这个目录一定要正确。在win7下打开该目录是空的,便放在了system32里,结果未成功。因此,一定要放在system下。至于xp系统,未尝试。


regdll32

群里有朋友建议使用这个注册dll,以前使用时有成功的,有失败的。因此未敢轻用。有兴趣的朋友不妨一试。






你可能感兴趣的:(apache,PHP,System,PostgreSQL,dll,extension)