173

在 Windows 上启动 PHP 7 时出现错误。当我php在命令行上运行时,它会返回一个带有系统错误的消息框:

程序无法启动,因为您的计算机缺少 VCRUNTIME140.dll。尝试重新安装程序以解决此问题。

在那之后,CLI就是崩溃。

因为我不想从外部网站安装 DLL 文件,所以我不知道如何解决这个问题!

PHP 版本: 7.0.0alpha1 VC14 x64 线程安全

4

9 回答 9

231

PHP 7 alpha 下载页面的侧边栏上,它确实这样说:

VC9、VC11 和 VC14 最新版本的 PHP 是使用 VC9、VC11 或 VC14(分别为 Visual Studio 2008、2012 或 2015 编译器)构建的,包括性能和稳定性方面的改进。

  • VC9 版本要求您安装 Visual C++ Redistributable for Visual Studio 2008 SP1 x86x64

  • VC11 版本需要安装 Visual C++ Redistributable for Visual Studio 2012 x86或 x64

  • VC14 版本需要安装 Visual C++ Redistributable for Visual Studio 2015 x86或 x64

其中一些链接存在问题,因此这些文件也可从Softpedia获得。

对于 PHP 7 alpha,它是最后一个需要的选项。

我认为这些信息的位置很差,因为它有点被边缘化(即:它基本上实际上是在边缘!)而它实际上对于软件运行至关重要。

我记录了我在 PHP 中在 Windows 8.1 上启动并运行 PHP 7 alpha 的经验:让 PHP7 alpha running on Windows 8.1,它涵盖了可能出现的更多症状。他们超出了这个问题的范围,但可能会帮助其他人。

此问题的其他症状:

  • Apache 没有启动,php7apache2_4.dll尽管它确实存在,但仍然缺少声明,并且在任何日志中都没有提供任何其他内容。
  • php-cgi.exe - The FastCGI process exited unexpectedly(根据@ftexperts 下面的评论)

尝试的解决方案:

  • 使用php7apache2_4.dll早期 PHP 7 开发版本中的文件。这没有用。

(我包括那些用于 googleability 的内容。)

于 2015-06-14T06:59:13.240 回答
25

适用于 Visual Studio 2015(x32 位版本)的 Visual C++ Redistributable - RC。

这应该纠正这一点。您可以搜索 DLL什么,但这并不重要。

PS:它也是微软官方的:)

我在哪里找到它:下载(Visual Studio)

于 2015-06-12T21:17:38.663 回答
18

即使您有一台 64 位机器,安装vc_redist.x86.exe 也适用于我。

于 2016-04-11T13:10:29.677 回答
14

如果您已按照 Adam 的说明进行操作,但仍然出现此错误,请确保您安装了正确的变体(x86 或 x64)。

我有 VC14x64 和 PHP7x86,我仍然得到这个错误。将 PHP7 更改为 x64 修复了它。很容易错过您不小心安装了错误的版本。

于 2016-02-23T13:29:07.393 回答
11

对于这样的事情,你不要盲目地一直点击“下一步”、“下一步”和“我同意”。

WAMP 会在安装期间和安装之前通知您:

Wampserver 2.4、2.5 和 3.0 需要 MSVC 运行时库 VC9、VC10、VC11,即使您仅将 Apache 和 PHP 版本与 VC11 一起使用。PHP 7 和 Apache 2.4.17 需要运行时 VC13、VC14

VC9 包 (Visual C++ 2008 SP1) http://www.microsoft.com/en-us/download/details.aspx?id=5582 http://www.microsoft.com/en-us/download/details.aspx ?id=2092

VC10 包 (Visual C++ 2010 SP1) http://www.microsoft.com/en-us/download/details.aspx?id=8328 http://www.microsoft.com/en-us/download/details.aspx ?id=13523

VC11 Packages (Visual C++ 2012 Update 4) 要下载的两个文件 VSU4\vcredist_x86.exe 和 VSU4\vcredist_x64.exe 在同一页面上:http: //www.microsoft.com/en-us/download/details。 aspx?id=30679

VC13 Packages] (Visual C++ 2013[) 要下载的两个文件 VSU4\vcredist_x86.exe 和 VSU4\vcredist_x64.exe 在同一页面上: https://www.microsoft.com/en-us/download/details。 aspx?id=40784

VC14 Packages (Visual C++ 2015) 要下载的两个文件 vcredist_x86.exe 和 vcredist_x64.exe 在同一页面上:http: //www.microsoft.com/en-us/download/details.aspx?id=48145

您必须同时安装 32 和 64 位版本,即使您不使用 Wampserver 64 位。

重要提示:确保以管理员权限运行所有 Microsoft Visual C++ 安装(右键单击 → 以管理员身份运行)。只是错过了这一小步就浪费了我一整天。

于 2016-04-07T17:44:41.463 回答
3

在 Windows 7 上使用 Windows 安装程序版本安装 Robot Framework 2.9.2 时,我遇到了同样的问题。

我可以解决它安装 VC14 版本需要从Microsoft 网站安装“Visual C++ Redistributable for Visual Studio 2015 x86 or x64” 。

于 2015-10-15T05:09:47.313 回答
1

我遇到了同样的错误,发现我的Microsoft Visual C++ 是 32 位的,而 Windows 是 64 位的。我尝试安装 WAMP 7 32 位,问题解决了。

如果 Visual Studio 是 32 位,我们可能需要安装 WAMP 32 位。反之亦然。

于 2017-07-21T06:40:43.623 回答
0

我遇到了同样的问题,我更改了端口,重新启动了服务,但只有在更新 Microsoft Visual c++ 文件时才对我有用从那里你可以修改 MVC

于 2020-08-25T21:30:05.167 回答
-4

通常这是您的 PHP 配置中的错误。

实际上很容易弄清楚到底发生了什么:

  • 使用标准 phpinfo() 脚本创建一个小文件 (test.php)
  • 打开命令提示符
  • 使用小文件手动启动 php,例如 '"\program files\php\php.exe" test.php
  • 阅读错误消息:-)
于 2015-12-23T14:37:59.407 回答