页面错误

燃烧的冰2020-01-08  622

别人的网站跑的非常好,自己的站点确出现莫名奇怪的问题,请按照以下方式查找问题。


常见的问题:

1. FTP 文件上传半截文件,导致 500 内部错误。解决方法便是重新下载压缩包,解压后上传覆盖。如果是全新安装出现错误,主程序可能文件不完整。如果运行一直没问题,安装某插件后出现问题,可以确定是插件问题。

禁止所有的插件,conf/conf.php 使用支持utf-8的编辑器修改

'disabled_plugin' => 0, // 0 修改为1 保存覆盖,如果有安装OPcache,需要重启服务器或等待2分钟缓存过期


然后后台或手动清空tmp目录里的文件,是tmp目录里面的文件。此时如果打开正常,说明是插件引起的问题,那么进入后台插件中心,逐个禁用安装的插件,然后在此修改conf/conf.php 

'disabled_plugin' => 1, // 1 修改为0 保存覆盖,如果有安装OPcache,需要重启服务器或等待2分钟缓存过期


逐个启用插件排查,找到问题插件。解决问题插件,(1)重新下载插件,进行覆盖;(2)咨询插件开发者或自行解决。

2. 目录权限不可写 conf、upload、tmp、plugin、view/template 需要可写权限(Windows 需要 everyone 用户可读写,Linux chmod 777)。

3. PHP 运行环境没配置正确。

4. 更新代码后,缓存没清理。


各种缓存的清理方法:

浏览器缓存清理方法:CTRL+F5。
CDN 缓存清理方法:登录 CDN 管理界面,刷新缓存。
删除 tmp 目录下所有文件(保留 tmp 目录!)。


错误排查:

1. 打开 php.ini 的 display_errors=On;并且重启相关进程,使之生效。


2. 查看日志文件 log/日期/php_error.php     sms_error.php  这类有错误提示的文件。

如果没有,按照下面的步骤修改源代码,让错误暴漏出来:


3. 修改文件: index.php,将 DEBUG 的值修改为 2

!defined('DEBUG') AND define('DEBUG', 2);


4. 查看报错的信息,根据信息来判断错误到底处在哪里。

如果无法确定,请将报错信息贴到讨论区。


5. 查看错误日志:log/{日期}/phperror.php dberror.php


6. 排查完,将 DEBUG 改回 0


7. 如果 DEBUG 为 2 的时候没有错误,改为 0 出错。则修改 xiunophp/xiunophp.min.php 文件

18 行左右,将 error_reporting() 的参数中的 0 改为 E_ALL

error_reporting(DEBUG ? E_ALL : E_ALL);


8. 排查完,改回去。