如何使用NTS或TS重新编译PHP?

时间:2018-07-10 14:55:35

标签: php cakephp composer-php

我正在尝试使SQLSRV PDO与PHP一起使用。我运行PHP -v并收到以下错误

  

警告:PHP启动:pdo_sqlsrv:无法初始化模块

     

使用内部版本ID = API20180718,NTS,VC15编译的模块

     

使用内部版本ID = API20180718,TS,VC15编译的PHP

     

这些选项必须匹配

     

在第0行的“未知”中

我遇到了另一个错误,即ID中的日期不匹配,但是我通过获取当前版本的PHP(7.2)并将其放到位来解决了该错误。它没有安装,而是我解压缩到路径中的压缩存档。然后还必须复制正确的 php.ini 文件。

现在,我在运行php -v时出现上述错误,而不是看到显示的php版本信息。

我正在尝试安装CakePHP。我已经到了要安装作曲家的地步。尝试安装作曲家时出现相同的错误。

所有这些都在我的Web服务器上:Windows Server 2012 R2 Standard x64

如何解决此问题,以便可以安装Composer?

1 个答案:

答案 0 :(得分:1)

就像在Windows上一样,您需要dll的TS(线程安全)版本,而不是NTS(非线程安全)版本。

确保php.ini文件仅加载TS扩展名。