IIS 环境下 PHP无法显示错误信息------500错误

4 篇文章 0 订阅
2 篇文章 0 订阅

我使用的是window2012的服务器。
在IIS+FastCGI中配置PHP后,如果php源文件中存在错误,则不论是什么错误,FastCGI都会返回
内部服务器错误500的信息,这给程序调试带来了麻烦。
解决这个问题的办法如下:

1.PHP

首先打开PHP的配置文件php.ini,并做如下配置修改:

    log_errors = On
    html_errors = On 
    display_errors = On
    fastcgi.logging = 0 
    error_reporting = E_ALL & ~E_NOTICE 

可根据自己需求修改

    extension=php_curl.dll                开启CURL模式
    extension=php_openssl.dll             开启Openssl模式
    extension=php_pdo_mysql.dll           开启数据库事务处理
	extension_dir = "C:\php\ext" ;        设置php模块路径
	date.timezone = PRC/ “Asia/Shanghai” ;设置时区为中国时区
	short_open_tag = On ;                 php支持短标签 可选
	cgi.force_redirect = 0 ;              开启以CGI方式运行php
	fastcgi.impersonate = 1 ;             FastCGI相关设置
	cgi.rfc2616_headers = 1 ;             为什么要改这一项暂不清楚
	cgi.fix_pathinfo = 0 ;                将1改为0,为了防止 FastCGI解析漏洞
	error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED ;
	将错误提醒修改为标准模式

2.Web网站

在网站的根目录下面新建一个web.config文件
添加如下代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>

  <system.webServer>
    <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"></httpErrors>
  </system.webServer>
  
</configuration>

3.运行cmd进入该目录,执行 PHP 时结果弹出窗口提示:无法启动此程序,因为计算机中丢失 VCRUNTIME140.dll。

Windows下运行php7需要Visual C++Redistributable 2015而之前的版本不需要那么高的,最新版的Apache可能也需要这个组件,这个组件是运行Visual Studio 2015所建立的C++应用的必要组件,安装一下即可解决环境问题,可以直接去微软官网下载安装程序。

有64位版和32位版,根据计算机配置进行下载,下面是下载链接:

64位版下载地址:http://download.microsoft.com/download/9/E/1/9E1FA77A-9E95-4F3D-8BE1-4D2D0C947BA2/enu_INREL/vcredistd14x64/vc_redist.x64.exe

32位版下载地址:http://download.microsoft.com/download/9/E/1/9E1FA77A-9E95-4F3D-8BE1-4D2D0C947BA2/enu_INREL/vcredistd14x86/vc_redist.x86.exe

如果还是有问题,你好好应该检查一下文件的权限或者路径问题!
希望可以帮到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值