我有一个Win 2008 r2服务器,它一直在运行PHP5.3,并说服客户端升级到5.6.19,这是本文发布时的最新版本。这个实例运行Apache2.2。
因为我希望保持这个实例的简洁性,但是如果失败,我可以返回到5.3,所以我下载了non-thread-safe版本。我更新了即将启用的php.ini (以前是示例生产文件),使其与5.3 php.ini中的params对齐。然后,我将服务器的路径从5.3文件夹指向包含5.6.19文件的新文件夹。我还没有尝试运行Apache,而是选择测试新的PHP是否至少适用于CMD。就在那时我收到了上面的信息。
这似乎是这些帖子的共识:http://www.touchoftechnology.com/the-program-cant-start-because-php5ts-dll-is-missing-from-your-computer-error/#ixzz42KMHyQFz 程序无法启动,因为php5.dll丢失了
我应该在它的文件名中将php5.dll文件重命名为'ts‘或'nts’,并/或在php.ini中添加这个名称。但是我不知道该把它放在.ini文件中的哪个位置。将php5.dll (从安装文件中)重命名为php5nts.dll,返回缺少php5.dll的消息。我尝试过这些文件名的许多不同组合,甚至从线程安全发行版中添加了一个php5ts.dll。没有另一个我就弄不到一个。
其中一篇文章建议在一些Zend扩展中添加“nts”,但我不会在这个生产框上运行zend。在php.ini中,我需要在哪里设置我得到的文件(php5.dll)来解决这个问题?我希望一旦我让CLI开始工作,Apache就不会出现这个问题。
其他评论说运行微软平台安装程序,但这似乎带来了更多的东西,不需要在这个生产盒,我不想要任何额外的包袱。我只想让Windows和Apache看到这个更新的PHP安装。
发布于 2016-03-14 19:59:25
我曾经读过,对于早期的Windows操作系统,我应该使用非线程安全的PHP版本。那个版本缺少了php5apache2_x.dll,这引起了对这个包的怀疑。一位熟人说,使用线程安全版本,其中有php5apache2_4.dll。在我将环境变量设置为该文件夹后,它似乎在Windows浏览器中工作。但是更深入地讲,我似乎也应该将我的Apache升级到2.4,因为后来的PHP和以后的Apache使用了不同的Visual编译器。
https://stackoverflow.com/questions/35872741
复制相似问题