PHP 7 链接 MsSQL 遇到困难!

时间:2023-01-25 17:13:32
操作系统 Win7 64位
PHP  7.0
服务器 Wampserver64 或者 phpStudy
数据库 Ms SQL 2012
己经将 php_pdo_sqlsrv_7_ts_x64.dll; php_sqlsrv_7_ts_x64.dll; ntwdblib.DLL
三个文件放到 windows/SysWOW64目录下
php.int 文件对应的 extension 语句己增加

运行时提示:
Fatal error: Uncaught Error: Call to undefined function mssql_connect()

请问这情况应该怎样解决,才能够链接 Ms SQL ?


9 个解决方案

#1


php_sqlsrv 扩展提供的是 sqlsrv 打头的函数,并不是 mssql 打头的函数 

#2


引用 1 楼 xuzuning 的回复:
php_sqlsrv 扩展提供的是 sqlsrv 打头的函数,并不是 mssql 打头的函数 


测试语句:

<?php
 $conn=sqlsrv_connect("127.0.0.1","sa","123");
  if($conn)
  {
  echo "连接成功";
  }
?>

错误信息提示:
Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in D:\wamp64\www\test.php:4 Stack trace: #0 {main} thrown in D:\wamp64\www\test.php on line 4 

是那里出问题呢 ~  PHP 7 链接 MsSQL 遇到困难!

#3


那就是扩展没有加载成功了

#4


引用 3 楼 xuzuning 的回复:
那就是扩展没有加载成功了


这个跟 64位操作系统有关系吗? 我己经将 php_dblib.dll 更换到最新版,同时也增加了 php_dblib.dll,还是不行;
有些文章说php5.3以上已不是原生支持mssql,也就是说,使用php_dblib.dll来支持mssql,而不是php_mssql.dll

#5


最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。

#6


引用 5 楼 lilinoscar 的回复:
最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。


您是从那里下载的呢,可否提供一下地址 !

#7


引用 6 楼 qq_31319035 的回复:
Quote: 引用 5 楼 lilinoscar 的回复:

最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。


您是从那里下载的呢,可否提供一下地址 !

http://windows.php.net/download#php-7.1

#8


看下phpinfo()里面有没有对应的库,PS:修改php.ini之后需要重启apache。

#9


应该是版本的问题

#1


php_sqlsrv 扩展提供的是 sqlsrv 打头的函数,并不是 mssql 打头的函数 

#2


引用 1 楼 xuzuning 的回复:
php_sqlsrv 扩展提供的是 sqlsrv 打头的函数,并不是 mssql 打头的函数 


测试语句:

<?php
 $conn=sqlsrv_connect("127.0.0.1","sa","123");
  if($conn)
  {
  echo "连接成功";
  }
?>

错误信息提示:
Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in D:\wamp64\www\test.php:4 Stack trace: #0 {main} thrown in D:\wamp64\www\test.php on line 4 

是那里出问题呢 ~  PHP 7 链接 MsSQL 遇到困难!

#3


那就是扩展没有加载成功了

#4


引用 3 楼 xuzuning 的回复:
那就是扩展没有加载成功了


这个跟 64位操作系统有关系吗? 我己经将 php_dblib.dll 更换到最新版,同时也增加了 php_dblib.dll,还是不行;
有些文章说php5.3以上已不是原生支持mssql,也就是说,使用php_dblib.dll来支持mssql,而不是php_mssql.dll

#5


最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。

#6


引用 5 楼 lilinoscar 的回复:
最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。


您是从那里下载的呢,可否提供一下地址 !

#7


引用 6 楼 qq_31319035 的回复:
Quote: 引用 5 楼 lilinoscar 的回复:

最开始我使用php7.1的版本,也是无法加载php_sqlsrv_7_ts_x64.dll,最后发现好像是官网上不支持7.1的版本,就重新下载php7.0.17,然后可以加载sqlsrv。


您是从那里下载的呢,可否提供一下地址 !

http://windows.php.net/download#php-7.1

#8


看下phpinfo()里面有没有对应的库,PS:修改php.ini之后需要重启apache。

#9


应该是版本的问题