从PHP 7.0连接到MSSQL时调用未定义的函数sqlsrv_connect()

时间:2017-10-05 18:02:32

标签: ubuntu-16.04 php-extension sqlsrv

我在我的ubuntu 16.04服务器上通过PECL安装了php 7.0扩展sqlsrv和pdo_sqlsrv,以便连接到MSSQL数据库。在此之后,我重新整理了整个服务器。

调用sqlsrv_connect时,收到错误"调用未定义函数sqlsrv_connect()"。连接字符串如下所示:

$serverName = "serverName"; 
$connectionInfo = array( "Database"=>" ", "UID"=>" ", "PWD"=>" ");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

我根据我在谷歌上找到的信息进行了一些检查:

  1. php -m将sqlsrv和pdo_sqlsrv显示为模块
  2. php -i显示php.ini文件包含对扩展名的其他.ini文件的引用:/etc/php/7.0/cli/conf.d/sqlsrv.ini和/etc/php/7.0/ CLI / conf.d / pdo_sqlsrv.ini
  3. cat /etc/php/7.0/cli/conf.d/sqlsrv.ini返回 extension = sqlsrv.so ,表示.ini文件引用了正确的扩展名(同样适用于pdo_sqlsrv)
  4. php-config --extension-dir返回 / usr / lib / php / 20151012 ls -la /usr/lib/php/20151012显示 -rw-r - r-- 1 root root 326816 10月5 14 :55 sqlsrv.so 表示扩展文件位于正确的文件夹中(同样适用于pdo_sqlsrv)
  5. php -i | grep sqlsrv返回

    /etc/php/7.0/cli/conf.d/pdo_sqlsrv.ini, /etc/php/7.0/cli/conf.d/sqlsrv.ini, Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, sqlsrv, phar PDO drivers => sqlsrv, mysql, sqlite pdo_sqlsrv pdo_sqlsrv support => enabled pdo_sqlsrv.client_buffer_max_kb_size => 10240 => 10240 pdo_sqlsrv.log_severity => 0 => 0 sqlsrv sqlsrv support => enabled sqlsrv.ClientBufferMaxKBSize => 10240 => 10240 sqlsrv.LogSeverity => 0 => 0 sqlsrv.LogSubsystems => 0 => 0 sqlsrv.WarningsReturnAsErrors => On => On

  6. 您是否知道导致此错误的原因以及解决方法?如有必要,我很乐意提供更多信息。

0 个答案:

没有答案