我使用的是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文件.
任何建议表示赞赏.
我经历了几个问题和建议,以解决上述问题,但没有运气.
我有以下设置:
Windows Server 2008 R2
X
AMPP-win32-1.8.2-5-VC9的安装程序
SQLSRV30 - php驱动程序
sqlncli - Microsoft SQL Server 2008 R2 Native Client设置
我安装了其他所有内容,我在php.ini文件中有以下代码下面的代码显示了php驱动程序所在的位置:
; On windows:
extension_dir="C:\xampp\php\ext"
Run Code Online (Sandbox Code Playgroud)
以下是Windows扩展
extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll
Run Code Online (Sandbox Code Playgroud)

当我检查phpinfo文件时,没有列出sqlsrv.我知道这可能意味着它没有安装,但它已安装.
以下是php信息文件:
我也重启了apache和服务器.我错过了什么吗?
我收到以下错误:
调用未定义的函数sqlsrv_connect()
这是我用来连接的代码:我正在连接另一个托管SQL Server 2005的服务器
/Connection to SQL Server Database
error_reporting(E_ALL);
$serverName = "172.xx.x.xxx";
$connectionInfo = array('Database'=>'Eque', "UID"=>"develop", "PWD"=>"develop");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn) {
echo "Connection established.<br />";
}else {
echo "Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
Run Code Online (Sandbox Code Playgroud)