XAMPP + PostgeSQL =错误

所以我在Windows 7机器上安装了XAMPP和PostgeSQL。

我configuration了Apache的httpd.conf和PHP.ini文件就好了,他们工作。 我取消了php.ini文件中的“extension php_pgsql.dll”这一行,并将\ php,\ php \ ext和PostgeSQL \ bin和\ lib目录添加到我的PATHvariables中。

C:\Program Files\PostgreSQL\9.2\lib;C:\Program Files\PostgreSQL\9.2\bin;C:\xampp\php\ext;C:\Program Files (x86)\PostgreSQL\EnterpriseDB-ApachePHP\php;C:\xampp\php; 

我下载了与Windows兼容的php_pgsql.dll文件并将其复制到\ php \ ext

当我尝试启动apache服务器时,出现两个错误:

“程序入口点_regexec @ 20不能位于dynamic链接库php5ts.dll中。 和“PHP启动:无法加载dynamic库”C:\ xampp \ php \ ext \ php_pgsql.dll“ – 找不到指定的过程。

所以,这些错误显然不是致命的,这意味着服务器继续启动并完成启动。 另外,如果我注释掉php.ini中的“extension php_pgsql.dll”这一行,错误就会消失。 以下是来自PHP和apache的相关错误日志:

阿帕奇:

 [Thu Nov 15 10:48:11.763770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00455: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 configured -- resuming normal operations [Thu Nov 15 10:48:11.763770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00456: Server built: Aug 18 2012 12:41:37 [Thu Nov 15 10:48:11.763770 2012] [core:notice] [pid 5420:tid 320] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache' [Thu Nov 15 10:48:11.764770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00418: Parent: Created child process 5728 [Thu Nov 15 10:48:13.489869 2012] [ssl:warn] [pid 5728:tid 328] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache] [Thu Nov 15 10:48:16.520042 2012] [mpm_winnt:notice] [pid 5728:tid 328] AH00354: Child: Starting 150 worker threads. 

PHP:

 [15-Nov-2012 15:48:11 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pgsql.dll' - The specified procedure could not be found. in Unknown on line 0 [15-Nov-2012 15:48:16 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pgsql.dll' - The specified procedure could not be found. in Unknown on line 0 

我想得到这个设置,所以我可以为PostgeSQL数据库编写一个PHP接口。 这只是为了好玩,而不是在专业的背景下。

试试这个 ,我有Windows 7 (64bit)这个问题,我把libpq.dllPostgreSQL服务器安装路径的完整路径添加到httpd.conf ,问题就解决了。