我有连接到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,不起作用。你能救我吗?
答案 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