繁体   English   中英

无法通过 PHP 设置 MS SQL 服务器访问

[英]Unable to setup MS SQL server access via PHP

设置:

  • Windows 10 Pro x64
  • PHP 版本:7.2.10
  • ODBC v17 已安装

php_sqlsrv_7_nts_x64.dll 和 php_sqlsrv_7_ts_x64.dll (所有 dll 都在 Z0D61F8370CAD1D412F80B84Dp1\phpEext1):

加载的配置文件 C:\xampp\php\php.ini

php.ini:

line 1965 of php.ini:
extension=php_sqlsrv_7_nts_x64.dll

lines 910-913: (previoius attempt)
[PHP_SQLSRV]
;extension=php_sqlsrv.dll
extension_dir = "C:\xampp\php\ext"  
extension=php_sqlsrv_7_ts_x64.dll

cmd iisreset 和 Apache 服务器在每次尝试之间重新启动

但我越来越

致命错误:未捕获错误:调用未定义的 function sqlsrv_connect()

我也完全关闭了 xampp 并重新启动了很多次。

PHP信息

To be clear, there is NO php.ini file in C:\Windows Opening php.ini via Xampp's config button opens C:\xampp\php\php.ini and that is the file I've been modifying.

这现在出现在 PHP 信息中: SQLSRV 扩展显示

[08-Apr-2021 22:20:04 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0

[08-Apr-2021 22:20:04 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_sqlsrv_7_ts_x86 (The specified procedure could not be found.) , C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:04 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_pdo_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_pdo_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_pdo_sqlsrv_7_ts_x86.dll (The specified module could not be found .)) 在第 0 行 [08-Apr-2021 22:20:05 UTC] Z2FEC392304A5C23AC138DA2284 7F9B7CZ Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:05 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp \php\ext\php_sqlsrv_7_ts_x86(找不到指定的程序。),C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll(找不到指定的模块)在000-4月行中未知。 2021 22:20:05 UTC] PHP 警告:PHP 启动:无法 e to load dynamic library 'php_pdo_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_pdo_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_pdo_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 15:20:07 America/Los_Angeles] PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\chart\ms_sql_test .php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\chart\ms_sql_test.php on line 19 [08-Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to加载动态库'php_sqlsrv_7_ts_x86'(试过:C :\xampp\php\ext\php_sqlsrv_7_ts_x86(找不到指定的程序。),C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.Z06416233FE5EC4C5933122E4AB2048AF1Z模块在未知(在指定的行上找不到)模块。 -Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C :\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic库'php_pdo_sqlsrv_7_ts_x86'(尝试:C:\xampp\php\ext\php_pdo_sqlsrv_7_ts_x86(指定的程序 re could not be found.), C:\xampp\php\ext\php_php_pdo_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_sqlsrv_7_ts_x86.dll ( The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x86' (tried: C:\xampp\ php\ext\php_sqlsrv_7_ts_x86(找不到指定的程序。),C:\x ampp\php\ext\php_php_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 22:20:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library ' php_pdo_sqlsrv_7_ts_x86' (tried: C:\xampp\php\ext\php_pdo_sqlsrv_7_ts_x86 (The specified procedure could not be found.), C:\xampp\php\ext\php_php_pdo_sqlsrv_7_ts_x86.dll (The specified module could not be found.)) in Unknown on line 0 [08-Apr-2021 15:20:23 America/Los_Angeles] PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\chart\ms_sql_test.php:19 Stack trace : #0 {main} 在 C:\xampp\htdocs\chart\ms_sql_test 中抛出 .php on line 19 [08-Apr-2021 15:20:25 America/Los_Angeles] PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\chart\ms_sql_test.php:19 Stack跟踪:#0 {main} 在第 19 行的 C:\xampp\htdocs\chart\ms_sql_test.php 中抛出

此问题已通过更正 Microsoft 的 dll 版本来解决,该版本旨在与我拥有的 PHP 版本一起使用。

我的 PHP 是 v7.2 php_sqlsrv_7_XX_XX.dll 不适用于 PHP 7.2

我不得不从https://pecl.php.net/package/sqlsrv/5.9.0preview1/windows下载 php_sqlsrv.dll 以匹配我的 Z2FEC392304A5C23AC138DA2228

这样做然后更新配置立即解决了问题(在 Apache 重新启动后)!

请参阅https://docs.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver15#driver-versions获取MS' dll 的正确版本以匹配您正在运行的 PHP 的版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM