根据 PHP 版本选择 VC++ 版本,缺乏 VC++ 运行库会报500错误。php
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 x64mysql
我装的是 PHP7.3.2 选 Visual C++ 2017 x64sql
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
curl
将下载的 php-7.3.2-nts-Win32-VC15-x64.zip (IIS选 nts 版) 解压到 D:\PHP 7.3.2\ 目录下,复制 php.ini-production 重命名为 php.inisocket
PHP 7.3.2目录要给 users 用户组权限,否则会报500错误。测试
1. 打开php.ini,设置php扩展库存放目录网站
找到 extension_dir = "ext" 这一行,把前面的 ; 去掉,并把值改成 extension_dir = "D:\PHP 7.3.2\ext" (PHP安装目录下的 ext 文件夹)url
2. 开启经常使用扩展库,能够根据本身需求选择开启,将相应模块前面的 ; 去掉xml
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
1. 选择服务器节点,这里添加的模块映射是全局的,每一个网站都会继承
2. 打开处理程序映射
3. 右键--添加模块映射
点击“是”
4. FastCGI参数设置
选择服务器节点
打开FastCGI设置,设置 php.ini
设置环境变量
添加两个变量
Name:PHP_FCGI_MAX_REQUESTS
Value:10000
Name:PHPRC
Value:D:\PHP 7.3.2\
5. 测试...