之前本来为了搭建自托管音乐网站而下载了一个 Windows 版本的 PHP ,但是一直拖延着没有进一步搭建配置。
这不刚刚搞了IIS就干脆搞个 IIS + PHP 的测试……
PHP 就使用前面下载的 php-8.3.13-Win32-vs16-x64.zip
,然后在下载扩展的时候再细看 IIS 要选择非线程安全的版本。
1、打开 开始 -> 控制面板 -> 程序与功能 -> 打开或关闭windows功能
勾选Internet信息服务,并点击前面的加号,勾选 万维网服务 -> 应用程序开发功能 -> CGI
2、修改php.ini文件
找到php.ini-development,改名为php.ini,用文本编辑器打开
# 找到; extension_dir = "ext" 去掉; 改为 extension_dir = "ext" # 找到;cgi.force_redirect = 1 去掉; 改为 cgi.force_redirect = 0 # 找到;cgi.fix_pathinfo=1 去掉; 改为 cgi.fix_pathinfo=1 # 找到;fastcgi.impersonate = 1 去掉; 改为 fastcgi.impersonate = 1
3、添加php处理程序,添加模块映射
3.1、打开Internet信息服务管理器
3.2、点击处理程序映射,然后点击添加模块映射
请求路径:*.php
模块:FastCgiModule
可执行文件(可选):C:\php-8.3.13-Win32-vs16-x64\php-cgi.exe
名称:PHP
4、修改默认文档
添加默认文档index.php
5、访问测试
浏览器访问https://iis-php.147180.com/
出现了503错误,一开始以为是用户权限问题就给文件夹不断的增加用户甚至都给“最危险”的Everyone
,但依旧是503错误……
后面在Windows PowerShell
中执行php.exe -v
直接没有反应,操作了几个都一样是没任何输出哪怕是报错。
后来改到命令提示符
中执行时出现弹窗错误提示:
由于找不到VCRUNTIME140.dll,无法继续执行代码。重新安装程序可能会解决此问题。
这才让我知道了报错的原因。
但是一开始只安装Microsoft Visual C++ 2015 Redistributable
时出现了其他的错误
PHP Warning: 'C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll' 14.0 is not compatible with this PHP build linked with 14.29 in Unknown on line 0
最后改成Microsoft Visual C++ 2015-2022 Redistributable
时终于能正常输出且网站访问也是正常输出了……
C:\php-8.3.13-Win32-vs16-x64>php.exe -v PHP 8.3.13 (cli) (built: Oct 22 2024 21:08:02) (ZTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies C:\php-8.3.13-Win32-vs16-x64>php-cgi.exe -v PHP 8.3.13 (cgi-fcgi) (built: Oct 22 2024 21:08:01) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies
ChiuYut
2024年11月03日