小灰博客--小灰IT技术博客 | sky00.com

phpinfo()函数报500错误或其他错误的终极解决办法

已经一年多没在博客发文了,因为接触技术方面的东西也少了,最近突然遇到个技术问题,官方也没给出解决方案只好自己动手了,最早发现问题开始是小程序客服插件在用户说话的时候提示“该小程序出现故障,无法提供服务”,环境用的是win2008+IIS+PHP。综合查看后考虑到是php配置和版本的问题,就用 phpinfo()函数看下版本,结果直接给我报500错误(也有可能报其他错误),网站正常运行,只有phpinfo函数报500错误。网上找了一堆解决方案,大致分下面几种(对我遇到的问题程序然并卵,也许对大家有帮助)

1、在php.ini里禁用了phpinfo函数,这个好解决 打开php.ini找到disable_functions这个标签  把后面的phpinfo删除就行

2、没启用简短标签short_open_tag但写程序的时候缺用<? phpinfo() ?>这样写,这个也好解决 把short_open_tag=On开启了或者<?php  phpinfo() ?>这样写

下面我找到了一种终极解决办法:

最常见的原因可能是这样两个导致的,网上其他扯蛋的方法就不说了,但经过我测试这两个都是正常的,因为网站可以正常运行,其他函数也没问题,所以没考虑是服务器的问题,肯定是php配置文件导致的,所以我找了个正常能打开phpinfo函数的php.ini替换我以前打不开phpinfo函数的php.ini,重启IIS,测试正常打开phpinfo函数,最终我拿两个文件载文件对比器里对比了把,经过一个个测试问题在于date.timezone这个标签,打不开phpinfo那个里这个标签是注释的 而且后面没有参数,这个是个时间标签,在官方下载的php版本这个标签一般都没开启。把这个标签打开(去掉前面分号)写成date.timezone=PRC。如下图,左边是正确的,至此,问题解决!

(图丢了,自己领悟把)


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:


发表评论

邮箱地址不会被公开。 必填项已用*标注