【问题标题】:How to recompile PHP with either NTS or TS?如何使用 NTS 或 TS 重新编译 PHP?
【发布时间】:2018-12-18 11:42:09
【问题描述】:

我正在尝试让 SQLSRV PDO 与 PHP 一起工作。我运行PHP -v 并得到以下错误

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

使用 build ID=API20180718,NTS,VC15 编译的模块

使用 build ID=API20180718,TS,VC15 编译的 PHP

这些选项需要匹配

在第 0 行的未知中

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

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

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

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

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

【问题讨论】:

  • 您只需要使用pdo_sqlsrv 的TS(线程安全)版本和其他任何东西,以及在Windows 上运行
  • @RiggsFolly 如何让Module 也成为 TS?
  • 无论您在哪里下载 SQL Server 模块,都有一个选择选项,或者两者都在同一个包中,然后您选择要使用的那个
  • 您从哪里获得 SQLSRV PDO
  • 做到了。我在我的 php.ini 中进行了更新,只加载了 TS,现在它可以工作了。把它放在一个答案中,我会标记它。

标签: php cakephp composer-php


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2012-11-28
    • 2012-06-05
    • 1970-01-01
    • 2011-07-11
    相关资源
    最近更新 更多