在动态链接库中找不到过程入口点_zend_hash_index_update @@ 24

时间:2019-05-16 02:15:59

标签: php sql-server driver php-7.3

启动XAMPP时,尝试加载PHP的SQL Server驱动程序时出现以下错误。

  

过程入口点_zend_hash_index_update @@ 24不在动态链接库D:\ xampp \ php \ ext \ php_sqlsrv_72_ts_x64.dll中。

我尝试下载适用于php的Microsoft SQL Server驱动程序4.0和5.6,并在扩展目录中使用php_sqlsrv_7_ts_x64.dll和php_sqlsrv_72_ts_x64.dll,并将它们添加到php.ini中。

我发现与此错误相关的帖子:

PHP 7 on IIS: Call_user_function could not be located

在系统要求中,对于MSSQL驱动程序4.0,该驱动程序适用于PHP 7.0+。在尝试5.6时,我发现该帖子说它支持PHP 7.3:

https://blogs.msdn.microsoft.com/sqlphp/2019/03/01/drivers-5-6-for-php-for-sql-server-released/

无论哪种方式,我仍然会收到相同的错误。我还需要检查其他东西吗?

2 个答案:

答案 0 :(得分:0)

改用7.3版本 class Timer { constructor(minutes, secondes){ this.minutes = minutes; this.secondes = secondes; this.minutesEltHtml = document.getElementById("minutes"); this.secondesEltHtml = document.getElementById("secondes"); } setMinutesSecondes(){ sessionStorage.setItem("minutes", this.minutes); sessionStorage.setItem("secondes", this.secondes); } getMinutesSecondes(){ return { minutes: sessionStorage.getItem("minutes"), secondes: sessionStorage.getItem("secondes"); }; } display(){ console.log(timer.getMinutesSecondes()); //console.log(timer.this.minutes); } } let timer = new Timer(20, 60); timer.setMinutesSecondes(); // if you don't wish to call this method here, you can still call this method in the constructor function timer.display();

我也收到此错误,试图为php_sqlsrv_73_...加载php_sqlsrv_7_nts_x86

enter image description here

如果您查看this support matrix on the microsoft site,将会看到许多其他支持PHP版本的驱动程序的选项。

我下载了最新的the SQLSRV561 package。做到了。

因此,请清楚

我加载了php-7.3.8-nts-Win32-VC15-x86(来自SQLSRV5.6.EXE)而不是php_sqlsrv_73_nts_x86.dll(来自SQLSRV4.0.EXE),此问题得以解决。

答案 1 :(得分:0)

简而言之,转到https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-drivers-for-sql-server-support-matrix?view=sql-server-2017#php-version-support

然后在显示的表格中将您的php版本与驱动程序版本进行比较。

最后下载一个正确的版本,就是全部。