最近折腾在 IIS 上跑 PHP-CGI。由于太年轻,遇到不少坑,特以此文纪念一下配置 IIS FastCGI 的填坑过程。
在 Windows 平台上,我习惯使用 scoop 安装一些开发工具,例如 PHP、NPM 等等。
填坑 1:
用 scoop 安装 php 要全局安装
scoop install php -g
否则 IIS 会报 500 错误,应该是安装到当前用户的话会有执行权限问题。
填坑 2:
全局安装 PHP 以后,PHP cli 会从 C:\ProgramData\scoop\apps\php\current\cli;C:\ProgramData\scoop\apps\php\current\cli\conf.d 这两个目录加载配置文件(可以通过系统环境变量 PHP_INI_SCAN_DIR 配置),但是 IIS 调用 PHP-CGI 的时候根本不读取 系统环境变量呀!
我的目标是可以让 PHP cli 和 PHP-CGI 可以共享配置!
使用 Google 大法后发现可以通过 IIS 里的 FastCGi 设置 -> 环境变量 进行配置!注意要和系统环境变量一致。
修改后即可使 PHP cli 和 PHP-CGI 的配置一致。