iis8.5 + php 遇到问题:php

原来硬盘快挂了,换了硬盘,重装系统,重新配置环境,太麻烦了,要是有命令可以一条命令安装所有应用,会省好多事,期待 win-get 早点出来,废话不多说,直接上问题及解决方法:

1. HTTP 错误 500.0 - Internal Server Error

1.1 环境

  • iis: win10

  • PHP: 7.2

  • php 文件内容: <?php echo “php is running.”;

1.2 报错详情:

  • php-cgi.exe - FastCGI 进程意外退出

  • 模块:FastCgiModule

  • 错误代码:0xc0000022

1.3 解决

1.3.0 基本操作

  • php cs.php , 无报错

  • php -v:无报错

1.3.1 安装 vc:问题未解决

  • vc9 - 2008 :.

  • vc11 - 2012:

  • vc14 - 2015:

  • vc15 - 2017: win10 自带?还是装 nodejs 时就安装了

1.3.2 重新下载 PHP 新版本:未解决

1.3.3 修改程序池:未解决

  • 重新创建程序池:iis-> 应用程序池 -> 添加应用程序池 -> .NET CLR 版本:v4.0 -> 托管管道模式:集成 -> 确定

  • 修改程序池参数:托管模式:经典;.NET CLR 版本:无托管代码;.NET CLR 版本:v2.0, 均无效

1.3.4 求助万能的百度:未解决

  • 大多数是装 vcXX,不行鸭,前面试了

1.3.5 求助 bing(PS: 不用翻墙,就能访问):未解决

  • 我还特意改成了英文版,关键词: php7 iis FastCGI process exited unexpectedly FastCgiModule

  • 然并卵,多了个修改程序池,离成功就差 1 步

1.3.6 求助 谷歌:解决

  • 修改程序池:程序池 -》 右键 -> 高级设置 -> 进程模型 -> 标识 -> 内置账户 -> LocalSystem -> 确定 (答案如下图)

  • 尝试访问: curl http://cs.p/cs.php , 返回: php is running ;OK,成功;

  • 直到这里还不能解决问题  ,接着重点来了:

    每一个fastfgi 都制定对应的环境变量

  • 问题解决

总结:

iis访问php时会先默认访问系统指定的phpRC 环境变量,获得对应的php配置环境,否则会出错,iis7.5以上的版本可以配置多个php版本,则需要在iis中为每个php版本指定对应的环境变量

(0)

相关推荐