phpstudyvc9运行库

装完phpStudy,运行双击启动,运行弹窗报错“计算机中丢失 MSVCR110.dll”——这事儿我遇到过不下十次。运行不是运行phpStudy本身有问题,是运行Windows缺了它依赖的运行库。phpStudyvc9运行库就是运行干这个的:把Visual C++ 2008运行库打包好,省得你一个个去微软官网翻。运行

VC9对应的运行是Visual Studio 2008,编译出来的运行程序依赖msvcr90.dll、msvcp90.dll这几个文件。运行phpStudy里的运行Apache、PHP、运行MySQL有些版本就是运行用VC9编译的,系统里没这套东西,运行服务根本起不来。运行64位Windows自带了一部分,但不全,尤其是精简版系统或者刚重装的机器,缺得更厉害。

它到底装了什么

打开phpStudyvc9运行库的安装包,里面其实就两个东西:32位的vcredist_x86.exe和64位的vcredist_x64.exe。有人问“我64位系统是不是只装64位就行”——不行。32位版本的运行库在64位Windows上照样需要,因为很多32位程序跑在WOW64子系统里,调用的还是32位的dll。两个都装上,别偷懒。

安装过程没什么好说的,下一步下一步。但有个细节:如果你之前装过更高版本的VC运行库(比如VC14、VC15),不代表VC9就被覆盖了。它们互相独立,各管各的。我见过有人电脑里VC2015、VC2017、VC2019全齐了,照样报msvcr90.dll丢失,就是因为唯独缺了VC9。

什么时候你会需要它

几种典型场景。一是新装系统后第一次跑phpStudy,Apache闪退或者根本启动不了。二是从别人那儿拷来的phpStudy整合包,在自己机器上跑不起来。三是用了某个老版本的PHP,比如PHP 5.2、5.3这些,它们基本都是VC6或VC9编译的。PHP 5.2是VC6,PHP 5.3开始部分版本用VC9。如果你在phpStudy里切换PHP版本后突然报错,大概率就是运行库对不上。

还有一种情况比较隐蔽:phpStudy能启动,但某些扩展加载失败。比如php_curl.dll、php_gd2.dll这些,它们也是VC9编译的,缺运行库就加载不了。看PHP错误日志会发现“无法加载动态库”的提示。这时候补装VC9运行库就能解决。

和phpStudy其他运行库的关系

phpStudy的完整包一般会带好几个运行库:VC9、VC11、VC14、VC15。对应不同版本的PHP和Apache。VC9对应PHP 5.3-5.6的某些版本,VC11对应PHP 5.5+,VC14对应PHP 7.0-7.1,VC15对应PHP 7.2+。你用的PHP版本决定了需要哪个。但VC9是最常缺的,因为Windows 7之后的系统自带VC11及以上,唯独VC9不预装。

我自己的习惯是:不管三七二十一,先把VC9装上。它体积小,装完不占什么资源,也不会跟其他版本冲突。装完重启一下,再启动phpStudy,九成以上的dll报错都能消掉。

一个容易忽略的点

有些Ghost系统或者优化过的Windows,会把“Visual C++ 2008 Redistributable”从程序和功能列表里隐藏掉,但实际文件可能已经被删了。你看着好像装过,其实没有。判断方法很简单:去C:\Windows\System32和SysWOW64目录下找msvcr90.dll,有就是有,没有就是没有。别信控制面板。

另外,如果你用的是Windows Server,默认也不带VC9。服务器上跑phpStudy之前,先把运行库装好,不然IIS和Apache抢端口的时候你还在排查dll问题,浪费时间。

phpStudyvc9运行库不是什么高深的东西,就是个补丁包。但少了它,phpStudy就是跑不起来。装一次,管很久,值得花那两分钟。