Fastcgi vs apache连接数据库

时间:2017-09-28 18:51:21

标签: php apache

我有连接到SQL Server的PHP。

<?php
$serverName = "AC-CLOUD"; //serverName\instanceName
$connectionInfo = array( "Database"=>"DataSEAS", "UID"=>"sa", "PWD"=>"Masterkey2010", "CharacterSet"  => "UTF-8");
$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));
}
?>

$sql = "SELECT sc.Id as Id, sc.Code, sc.Name, sc.Specification, sc.Specification2, sc.X_Specification3, f.Name as firma_Name FROM StoreCards sc
left join firms f on f.id = sc. X_pozicane_u ";

$stmt = sqlsrv_query( $conn, $sql );

if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

当我用fastcgi连接它时,它工作正常,但现在我需要将它与Apache连接,它不能使用此代码。当我尝试使用Apache或phpinfo的另一个PHP代码时,它工作正常,但这与apache连接到db,不起作用。你能救我吗?

2 个答案:

答案 0 :(得分:1)

调用未定义的函数sqlsrv_connect()错误意味着尚未加载sqlsrv模块,您应该编辑.ini文件并将sqlsrv添加到扩展名

此页面显示了iis express的示例,但您可以看到如何在.ini中加载sqlsrv dll

https://www.microsoft.com/en-us/sql-server/developer-get-started/php/windows/step/2.html

答案 1 :(得分:0)

根据评论中的信息,你的apache mod_php安装没有安装SQLSRV扩展,但你的php-fpm安装确实如此。有关安装它的说明,请访问:http://php.net/manual/en/sqlsrv.setup.php