2

我在 Windows 7 机器上安装了 XAMPP 和 PostgreSQL。

我很好地配置了 apache httpd.conf 和 PHP.ini 文件,它们可以正常工作。我取消注释 php.ini 文件中的“扩展 php_pgsql.dll”行,并将 \php、\php\ext 以及 PostgreSQL \bin 和 \lib 目录添加到我的 PATH 变量中。

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 服务器时,出现两个错误:

“无法在动态链接库 php5ts.dll 中找到程序入口点 _regexec@20。”

“PHP 启动:无法加载动态库 'C:\xampp\php\ext\php_pgsql.dll' - 找不到指定的过程。”

因此,这些错误显然不是致命的,这意味着服务器会继续启动并完成启动。另外,如果我注释掉 php.ini 中的“扩展 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 接口。这只是为了好玩,而不是在专业背景下。

4

1 回答 1

2

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

于 2012-11-16T14:58:36.107 回答