Windows2008R2 安装 PHP7.4.30 必须 LocalSystem 启动应用程序池 不然500错误 FastCGI 进程意外退出
之前也是 Windows2008R2 安装 PHP7.3 很顺利,
Win2008 IIS7.5安装配置PHP7.3.2步骤:https://www.cnblogs.com/kjcy8/p/10782839.html
这次是一样系统,换了一台机器
安装好命令行测试 php --version
提示缺少 "xxxx.dll" ,根据之前的经验应该是缺少VC++运行库,下载 Microsoft Visual C++ 2017 Redistributable 装上顺利解决。
配完IIS站点,浏览器访问报 500 错误
开启详细错误后,能显示具体的错误信息:500 FastCGI 进程意外退出
百度后找到解决方法,应用程序池-高级设置-进程模型 中的选项“标识”中,默认是"ApplicationPoolIdentity" 切换成"LocalSystem" 顺利解决。
但是 LocalSystem 权限太高了,估摸着是权限配置问题,继续百度了一圈 谷歌了一圈 没有搜到有用的信息。
试着换低版本,PHP7以下版本都没问题 不需要 LocalSystem 权限,之前PHP7.3一点问题没有,系统也是Windows2008R2,VC++运行库也装了,php --version 也没问题,怎么就不行了呢
后面看到这篇 https://www.php.cn/topic/php7/483973.html 说:
PHP 7.4 (包括PHP7.4.5)是使用 Visual Studio 2019 建立的,那就需要VC++ 2019的运行库
就装了这个 2015-2022的合集,https://docs.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=msvc-170
顺利解决。
我去官网确认
VC15是 Visual Studio 2017 编译,VC15和VS16版本需要安装Visual C++Redistributable for Visual Studio 2015-2019
早期版本确实是 Visual Studio 2019 编译的,现在已经切回 Visual Studio 2017,那我安装 Visual C++ 2017 Redistributable 应该就够了。
现在虽然问题解决了,还是没搞明白,为什么以 LocalSystem 权限启动应用程序池就没问题?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术