解决IIS+PHP出现的“500
来源:互联网 发布:知已知彼百战不殆 编辑:程序博客网 时间:2024/06/05 16:42
借着腾讯云的活动笔者成功租赁了一台系统为Windows Server 2012 R2的服务器,目前服务端构成是IIS+PHP+MySQL。不过最近在使用PHP操作MySQL数据库的时候遇到了问题。有时会出现“500 - 内部服务器错误”,如下图。
但是问题来了,实际上PHP代码在本地测试的时候(Windows10+Apache+PHP+MySQL)却正常,没有报错。如下图,同样的代码和相同的参数,访问同样的数据库。
看样子是IIS+PHP的组合出了问题。为了解决问题,我们要排除500的错误可能是哪些,根据查阅的资料,笔者首先把IIS本身可能会产生500错误的地方全部进行了排查,比如读写权限等等。那么剩下的问题可能就出在php上面了。进一步查阅资料,有人在之前遇到了类似的情况,最后是通过对PHP工作目录下的php.ini进行参数的修改解决的。php.ini中需要修改的内容如下(修改或者添加):
display_errors=Onerror_log="C:\windows\Temp\php-5.x.yy_errors.log"error_reporting = E_ALLfastcgi.logging = 0html_errors=Onlog_errors = On
笔者按照上面的内容对服务器的php.ini进行了修改,但是出现了新的问题。如图:
500错误终于是没了,然后出现了新的问题,What???PHP什么时候用变量要定义了(扶额)……
只能硬着头皮继续找去掉解决方案,最终找到了两种解决方案:
一,修改php.ini
error_reporting = E_ALL & ~E_NOTICEregister_globals = On
这个问题其实主要出在error_reporting的参数,下面的register_globals笔者在php.ini中没有找到(笔者使用的是php7),不添加也没有问题。
二,在php文件的头部添加如下代码
ini_set("error_reporting","E_ALL & ~E_NOTICE");
这个方案适合没有php.ini读写权限或者不想进行ini配置的情况,也能够解决问题。
再次访问相同的页面,终于没有500错误和未定义变量的提示了,没有比无报错更让人泪流满面的事情了。
阅读全文
0 0
- 解决IIS+PHP出现的“500
- IIS+PHP偶尔出现500
- 在 IIS 6 中 fastcgi 模式运行 php 出现 No input file specified. 的解决
- IIS开启和出现的错误解决
- 解决IIS启动时出现0x8ffe2740的错误
- IIS出现不能访问数据库故障的解决
- 64位系统IIS出现service unavailable错误的解决
- 解决IIS出现server application unavailable问题的方法
- IIS处理并发请求时出现的问题及解决
- IIS处理并发请求时出现的问题及解决
- php在iis中安装后出现500问题的解决方法
- IIS出现server application error 500,请问怎么解决?
- win7中iiS出现用户 【'IIS APPPOOL\XXXX' 登录失败】的错误(已解决~!)
- [转载]PHP 在 IIS 6 上面性能低下的解决
- iis php 无法找到该页 的错误解决
- 解决PHP+MySQL出现乱码的现象
- PHP出现乱码,解决乱码的方法
- IIS出现server application error,怎么解决?
- 传输层的复用和解复用
- 【LeetCode64 Minimum Path Sum】动态规划计算路径
- 3.1 Linux中的文件IO (13、14节)
- Spring(1-1、基于xml装配Bean)
- C8051F没有无法进main函数的解决办法之一
- 解决IIS+PHP出现的“500
- 7. Reverse Integer
- Java基础教程18-方法传参和返回值
- Lecture 2: Supervised machine learning
- http协议无状态中的 "状态" 到底指的是什么?!
- Ancient Cipher
- 程序员面试金典——实时中位数_
- vue2.0实战案例之高级教程-老孟编程
- 四、5、Date类型及方法