我试图在Windows2012 64位服务器上使用带有PHP7.1而不是线程安全x64的驱动程序。
无论我做什么,当我从admin命令提示符运行php时,我都会得到一个错误。
警告: PHP启动:无法加载动态库'ext\php_pdo_sqlsrv_7_nts.dll‘-无法找到指定的过程。
此外,它还显示一个窗口弹出状态
过程入口点call_user_function无法位于动态链接库C:\PHP7\ext\php_pdo_dqlsrv7_nts_x64.dll中。
我已经验证了php.ini指向存在的文件,因为如果我重命名.dll文件,错误消息将更改为“找不到指定的模块”,而不是指定的过程。
我已经按照PHP7的要求安装了MicrosoftVisualC++运行时15 x64。
我已经按照驱动程序的要求安装了Microsoft驱动程序13。
我重新启动了服务器两次。
我甚至没有别的办法去尝试。正如phpinfo所验证的,Microsoft WinCache.dll在PHP中正在加载并正常工作。
发布于 2016-12-21 22:48:16
证实了@MEmerson上面说的话。您需要将PHP降级为7.0.X(?) -我使用了7.0.12。
完成设置:
使用PHP7.1.0的驱动程序产生了您正在获得的错误。
发布于 2017-08-09 12:48:05
现在可以使用用于SQL Server的PHP驱动程序4.3了。这些驱动程序包含PHP7.1-Sql等文件。我已经成功地连接到了php_pdo_sqlsrv_71_nts_x64.dll服务器。
发布于 2018-03-02 09:41:22
在2012上尝试使用httpd (Apache)、PHP 7.2.2、Microsoft驱动程序11时也有类似的错误。错误的案文是:
过程入口点call_user_function无法位于动态链接库php_pdo_sqlsrv_7_ts_x64.dll中。
当我调用php -m来检查模块时。
因此,我从https://github.com/Microsoft/msphpsql/releases下载了Windows7.2.zip,并从其中使用了线程安全的dll。
php -m现在可以正常工作,不会出现错误。
https://stackoverflow.com/questions/41068570
复制相似问题