我使用的是Windows 7,php 5.3.5和WAMP服务器.我有两个php文件:trigger.php和background.php.
我想将background.php作为后台进程运行.我必须从trigger.php调用此文件.为实现这一点,我使用了以下方法.我在trigger.php中包含了以下代码,以使background.php在后台进行处理.
$handle = popen('start /b C:\wamp\bin\php\php5.3.5\php.exe C:\wamp\www\email3.php','r');
Run Code Online (Sandbox Code Playgroud)
在background.php中我有以下代码连接到数据库.
$conn_string = "host=localhost port=5432 dbname=tagbase user=postgres password=postgres";
Run Code Online (Sandbox Code Playgroud)
现在,在解析这一行时我得到了以下错误:
致命错误:在第3行的C:\ wamp\www\background.php中调用未定义的函数pg_connect()调用堆栈:0.0002 322792 1. {main}()C:\ wamp\www\background.php:0
通过在互联网上搜索,我找到了一些解决方案,并按照php.ini中的建议进行了更改,
uncommented, extension=php_pdo_pgsql.dll,
uncommented, extension=php_pgsql.dll,
uncommented, extension_dir = "c:/wamp/bin/php/php5.3.5/ext/",
Run Code Online (Sandbox Code Playgroud)
我也有文件c:/wamp/bin/php/php5.3.5/ext/
夹中的php_pdo_pgsql.dll和php_pgsql.dll文件.
任何建议表示赞赏.
Jor*_*oon 25
Apache 2.2.X配置
将下一行添加到Apache 2.2.x httpd.conf配置中:
LoadFile "C:/Program Files/PostgreSQL/{version}/bin/libpq.dll"
Run Code Online (Sandbox Code Playgroud)
必须在下一行之前输入上面的行.
LoadModule php5_module "c:/wamp/bin/php/php5.2.11/php5apache2_2.dll"
PHP 5.2.X配置
在php.ini配置文件中启用以下两行.通过'启用'我的意思是,删除尾随; (分号).通过这些,您取消对该行的评论.
extension=php_pdo_pgsql.dll
extension=php_pgsql.dll
Run Code Online (Sandbox Code Playgroud)
重启WAMP
通过在index.php中添加它来测试
echo extension_loaded('pgsql') ? 'yes':'no';
Run Code Online (Sandbox Code Playgroud)
(来源:http://www.plaatsoft.nl/wamp-postgresql-integration/)