maj*_*aja 6 php windows postgresql
我正在尝试使用postgresPHP,但Apache无法加载扩展.
我正在使用:
带有xampp的Windows 7(64位),我有php版本5.4.7我已经设置了postgres,其他应用程序可以访问数据库.
当我在php.ini中取消注释以下行时
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
Run Code Online (Sandbox Code Playgroud)
我在php-error-log中遇到一些错误:
[2013年6月22日13:15:22 UTC] PHP警告:PHP启动:无法加载动态库'C:\ xampp\php\ext\php_pdo_pgsql.dll' - Das angegebene Modul wurde nicht gefunden.在第0行的未知中
但路径是正确的,文件就在那里.
经过一番研究,我将这行添加到我的http.conf中:
LoadFile "C:/Program Files/PostgreSQL/9.2/bin/libpq.dll"
Run Code Online (Sandbox Code Playgroud)
但是无论我把这条线放进去,apache-service都无法启动了.所以我删除了这条线.
我还尝试将这两个路径添加到我的PATH变量中:
C:\Program Files\PostgreSQL\9.2\bin
C:\xampp\php\ext
Run Code Online (Sandbox Code Playgroud)
现在错误已更改为
在第0行的未知中
一切都在同一台本地机器上运行.使用Linux/seperate服务器不是另一种选择.
我phpinfo()没有显示任何与postgres相关的事情.
我希望有人知道如何解决问题,谷歌根本没有帮助我.
maj*_*aja 14
好吧,不知怎的,我终于解决了这个问题:
我重新安装了xampp和postgres但是使用了postgres 32bit-version(64位版也应该可以工作,但我想确保)
然后我php.ini再次启用了扩展程序:
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
Run Code Online (Sandbox Code Playgroud)
我收到错误,该文件再次未找到(php_error_log).
看完之后:
我libpq.dll从postgres 8.4 下载并将其复制到apache/bin和postgres/lib(从那里替换了dll).
在我的路径变量中仍然存在C:\xampp\php\ext\,但它也应该在没有该部分的情况下工作.
我在这个问题上工作了3天,我希望它能帮助其他人更快地完成这项工作.
另一种解决方案是复制
c:/xampp/php/libpq.dll
Run Code Online (Sandbox Code Playgroud)
至
c:/xampp/apache/bin/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31716 次 |
| 最近记录: |