©
本文档使用 PHP中文网手册 发布
[#1] MIhail-Klr at gmx dot net [2015-01-11 11:14:06]
This happened to me also with PHP 5.4.1
Copying the offending DLL everywhere didn't worket, and I don't have Postgres installed in the server, but also planned to use PHP against different Postgres versions, so the only solution I found that worked was to put in httpd.conf a line like this:
LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll"
but refering to the libpq.dll that comes bundled with PHP, like this:
LoadFile "C:/php/libpq.dll"
After that it worked fine to me.
(c) https://stackoverflow.com/users/1373641/dayron-armas-pe?a
from: https://stackoverflow.com/questions/551734/php-not-loading-php-pgsql-dll-on-windows/10439560#10439560
[#2] nestor dot martinez at etb dot net dot co [2010-03-22 17:47:38]
If you get a message like this:
"Php Startup: Unable to load dynamic library 'C:\php\ext\php_pgsql.dll"
1. In the Configuration File alter the order of the libraries "php_exif.dll" and "php_mbstring.dll", in such a way that is called first the library "php_mbstring.dll"
2. Copy all the libraries in the folder "bin" of your installation of PostgreSQL and paste them into the root folder of Windows
3. Uncomment the line "extension=php_pgsql.dll"
4. Now you should see on the page generated by "phpinfo()" section of PostgreSQL
[#3] some at domain dot name [2009-10-29 16:35:56]
Another windows xp solution for "Unable to load dynamic library 'php_pgsql.dll' - The specified module could not be found."
Add the path of the postgres binaries to the system search-path:
Right click on "My Computer", select "properties", "advanced"-tab, "Environment variables"-button, "System variables"-section, select "path" and click "Edit" and add the path to the postgres binaries at the end, in my case it was "C:\Program Files\PostgreSQL\8.4\bin" and then restart the computer (or at least restart the apache/php processes)
Please note that the system-path can have several values, each separated by a semicolon ";".
[#4] emil at example dot com [2009-01-07 06:04:20]
Unable to load dynamic library 'C:\\php\\ext\\php_pgsql.dll' - The specified module could not be found.
another solution:
copy libpq.dll/all files from zip (if you have php from installer)
add to httpd.conf:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "c:/PHP/"
Loadfile "C:\php\php5ts.dll"
Loadfile "C:\php\libpq.dll"
LoadModule php5_module "c:/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php-source .phps
(in php.ini default: extension_dir ="c:\PHP\ext" )
if it doesn't work add c:\php (php path) to your windows path (and restart)
tested on php5.2.8 + apache2.2.3
[#5] kouber at php dot net [2008-11-26 05:01:41]
If you get this error on Windows:
Unable to load dynamic library 'C:/php/ext\\php_pgsql.dll' - The specified module could not be found.
Try downloading the PostgreSQL binaries-no-install archive from http://www.postgresql.org/ftp/binary/v8.3.5/win32/ (replace 8.3.5 with the latest stable version) and copy these DLLs to C:/WINDOWS/system32/ :
comerr32.dll
gssapi32.dll
k5sprt32.dll
krb5_32.dll
libeay32.dll
libiconv2.dll
libintl3.dll
libpq.dll
ssleay32.dll