在开始排查前,请确保你已具备以下条件:
通过SSH连接服务器后,首先检查系统资源:
查看磁盘空间使用情况
df -h
查看内存使用情况
free -m
查看PHP进程状态
ps aux | grep php
查看Nginx/Apache错误日志(根据实际Web服务器选择)
tail -100 /www/wwwlogs/你的网站域名.error.log
或
tail -100 /var/log/apache2/error.log
编辑PHP配置文件,开启错误显示:
找到php.ini位置(通常位于以下路径之一)
/www/server/php/你的PHP版本/etc/php.ini
或
/etc/php/你的PHP版本/fpm/php.ini
修改以下配置项
display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /tmp/php_errors.log
修改后重启PHP服务:
宝塔面板用户
/etc/init.d/php-fpm-你的PHP版本 restart
系统服务管理
systemctl restart php-fpm
进入网站根目录,检查关键文件是否存在:
cd /www/wwwroot/你的网站目录
ls -la
必须存在的核心文件
index.php
application/
vendor/
config/
runtime/(检查是否可写)
如果runtime目录权限异常,执行:
chmod -R 755 runtime
chown -R www:www runtime
检查数据库配置文件:
查看配置文件路径
cat config/database.php
确认以下信息正确
'hostname' => 'localhost', 或你的数据库服务器IP
'database' => '数据库名',
'username' => '数据库用户名',
'password' => '数据库密码',
'hostport' => '3306',
手动测试数据库连接:
登录MySQL
mysql -u数据库用户名 -p
输入密码后执行
show databases;
use 你的数据库名;
show tables;
检查GD库和文件权限:
检查PHP是否安装GD库
php -m | grep gd
如果没有输出,需要安装
CentOS
yum install php-gd
Ubuntu
apt-get install php-gd
检查验证码缓存目录
ls -la runtime/captcha/
chmod -R 755 runtime/captcha/
chown -R www:www runtime/captcha/
修改session配置:
编辑config/session.php
'type' => 'file',
'path' => '/tmp/session_你的网站标识/', 确保目录存在
'prefix' => 'eyou',
'expire' => 86400, 24小时
创建session目录并设置权限:

mkdir -p /tmp/session_你的网站标识
chmod -R 755 /tmp/session_你的网站标识
chown -R www:www /tmp/session_你的网站标识
检查模板目录结构:
进入模板目录
cd public/template/
查看当前使用的模板
ls -la
检查模板文件完整性
必须包含以下目录
pc/ 或 mobile/
每个模板目录下应有
index.html
css/
js/
images/
如果模板文件损坏,从备份恢复:
从备份文件恢复
cp -r /备份目录/template/pc/ public/template/pc/
chmod -R 755 public/template/
chown -R www:www public/template/
检查伪静态规则:
Nginx伪静态规则(通常位于网站配置文件中)
location / {
if (!-e $request_filename){
rewrite ^/(.)$ /index.php/$1 last;
}
}
Apache伪静态规则(.htaccess文件)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ index.php/$1 [QSA,PT,L]
清除浏览器和服务器缓存:
清除EyouCMS缓存
rm -rf runtime/cache/
rm -rf runtime/temp/
重启Web服务
Nginx
nginx -s reload
或
systemctl restart nginx
Apache
systemctl restart apache2
或
service httpd restart
检查并修复数据表:
登录MySQL
mysql -u数据库用户名 -p
选择数据库
use 你的数据库名;
检查所有表状态
check table ey_articles;
check table ey_arctype;
check table ey_admin;
修复损坏的表
repair table ey_articles;
repair table ey_arctype;
手动备份数据库:
导出完整数据库
mysqldump -u数据库用户名 -p 数据库名 > /备份路径/eyoucms_backup_$(date +%Y%m%d).sql
仅导出数据(不含创建语句)
mysqldump -u数据库用户名 -p --no-create-info 数据库名 > /备份路径/eyoucms_data.sql
恢复数据库
mysql -u数据库用户名 -p 数据库名 < /备份路径/eyoucms_backup.sql
编辑php.ini文件:
在php.ini中添加或修改
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
创建自动维护脚本:
!/bin/bash
清理缓存
rm -rf /www/wwwroot/你的网站目录/runtime/cache/
rm -rf /www/wwwroot/你的网站目录/runtime/temp/
备份数据库
mysqldump -u数据库用户名 -p数据库密码 数据库名 > /备份目录/eyoucms_$(date +%Y%m%d).sql
保留最近7天备份
find /备份目录/ -name "eyoucms_.sql" -mtime +7 -delete
重启PHP服务
systemctl restart php-fpm-你的PHP版本
将脚本加入定时任务:
编辑crontab
crontab -e
每天凌晨3点执行维护
0 3 /bin/bash /你的脚本路径/maintenance.sh
当所有排查方法都无效时,按以下顺序恢复:
完成以上步骤后,你的EyouCMS网站应该已恢复正常运行。建议定期备份并监控服务器资源,预防类似问题再次发生。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图