簡體   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