根據 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. 測試...