安装Visual C++运行库
根据 PHP 版本选择 VC++ 版本,缺少 VC++ 运行库会报500错误。
php-7.1.28-nts-Win32-VC14-x64.zip VC14: Visual C++ 2015 x64
php-7.3.2-nts-Win32-VC15-x64.zip VC15: Visual C++ 2017 x64
我装的是 PHP7.3.2 选 Visual C++ 2017 x64
Microsoft Visual C++ 2017 Redistributable
x64: https://go.microsoft.com/fwlink/?LinkId=746572
x86: https://go.microsoft.com/fwlink/?LinkId=746571
Microsoft Visual C++ 2015 Redistributable
https://www.microsoft.com/zh-CN/download/details.aspx?id=53840
安装配置PHP7
将下载的 php-7.3.2-nts-Win32-VC15-x64.zip (IIS选 nts 版) 解压到 D:\PHP 7.3.2\ 目录下,复制 php.ini-production 重命名为 php.ini
PHP 7.3.2目录要给 users 用户组权限,不然会报500错误。
1. 打开php.ini,设置php扩展库存放目录
找到 extension_dir = "ext" 这一行,把前面的 ; 去掉,并把值改为 extension_dir = "D:\PHP 7.3.2\ext" (PHP安装目录下的 ext 文件夹)
2. 开启常用扩展库,可以根据自己需求选择开启,将相应模块前面的 ; 去掉
extension=curl
extension=gd2
extension=mbstring
extension=exif
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=sockets
extension=xmlrpc
3. 设置FastCGI相关,0 关闭,1 开启
cgi.force_redirect = 0 去掉 ; 值改为0
cgi.fix_pathinfo=1 去掉 ;
fastcgi.impersonate = 1 去掉 ;
fastcgi.logging = 0 去掉 ;
fastcgi.logging 这项如果开启,任何类的任何消息都被 FastCGI 视为错误,从而导致 IIS 产生 500 错误。不管 display_errors、error_reporting 如何设置,都不显示错误信息。
4. 设置时区
date.timezone = PRC
IIS 添加模块映射
1. 选择服务器节点,这里添加的模块映射是全局的,每个网站都会继承
2. 打开处理程序映射
3. 右键--添加模块映射
点击“是”
4. FastCGI参数设置
打开FastCGI设置,设置 php.ini
设置环境变量
添加两个变量
Name:PHP_FCGI_MAX_REQUESTS
Value:10000
Name:PHPRC
Value:D:\PHP 7.3.2\
5. 测试...