安装环境检测不通过——“系统提示缺少某某扩展”
报错现象: 在安装第三步,系统红色警告“缺少curl扩展”或“缺少mb_string扩展”,点击“重新检测”依然如故。
老蜘蛛的精简运维经,杰奇CMS零成本维护的七个实战方略
原因分析: 大多数虚拟主机或低配云服务器默认PHP并未加载这些扩展,尤其php7.4后,部分扩展需手动开启。
解决步骤:
- 登录服务器,打开php.ini(位置通常在/etc/php/7.4/cli/php.ini 或 /usr/local/php/etc/php.ini)。
- 搜索
extension=curl,去掉前面的分号;同样检查extension=mbstring。 - 对于cPanel或宝塔面板用户:进入“软件商店”→PHP设置,找到“禁用函数”和“未安装扩展”列表,勾选curl、mbstring、gd、openssl后保存。
- 重启PHP服务:命令
service php7.4-fpm restart或面板上一键重启。 - 再次运行安装程序,使用Ctrl+F5强制刷新页面。
后台登录异常——“验证码不显示”或“登录后跳回空白页”
报错现象: 输入管理员账号密码后,页面无验证码图片、显示叉号;或登录成功后页面一片空白,地址栏变为“/admin/index.php?act=login”。
原因分析:
- 验证码不显示:PHP的gd库未正常加载或session目录权限不足。
- 登录后空白页:用户缓存与服务器session冲突,或config文件中的cookie路径设置有误。
解决步骤:
- 验证码问题:
- 检查gd库:在网站根目录新建
phpinfo.php,写入<?php phpinfo(); ?>, 访问后搜索gd,若无则按问题一方法开启。 - 修改session存储路径:PHP.ini中设置
session.save_path = "/tmp",并执行chmod 777 /tmp。
- 检查gd库:在网站根目录新建
- 登录空白页问题:
- 删除
/data/tplcache/下所有文件。 - 打开
/config/config.php,找到$_SC['cookiepath'],确保值为(或网站二级目录如/novel/)。 - 清除浏览器缓存,使用隐身窗口重新访问后台。
- 删除
数据库连接失败——“Can't connect to MySQL server”
报错现象: 网站首页出现SQL错误,提示“无法连接数据库”或“Access denied for user”。
原因分析: 数据库服务宕机、账号密码错误、连接数超限、或MySQL与PHP版本不兼容(如PHP7.4连MySQL8.0未用caching_sha2_password)。
解决步骤:
- 检查MySQL是否运行:命令
systemctl status mysql或宝塔面板查看数据库状态。 - 重置密码:登录phpMyAdmin,执行
ALTER USER 'novel_user'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; - 更新杰奇配置文件:
/config/config.php中$_SC['dbhost']、$_SC['dbuser']、$_SC['dbpw']三项,确保与数据库一致。 - 修改连接驱动:若仍失败,在
config.php末尾添加define('DBCHARSET','utf8mb4');(针对MySQL8.0)。
无法读取——“内容为空”或“-1”
报错现象: 小说章节页面显示“暂无内容”或状态码-1,但后台能看到章节列表。
原因分析: 内容表(如jieqi_article_content)数据损坏、章节ID与内容ID关联丢失、或文件缓存错误。
解决步骤:
- 进入phpMyAdmin,找到章节表
jieqi_article_content,执行OPTIMIZE TABLE jieqi_article_content; - 修复关联:若内容存在但未关联到章节,执行SQL:
UPDATE jieqi_article_chapter c JOIN jieqi_article_content co ON c.chapterid = co.chapterid SET c.ischapter = 1 WHERE c.ischapter = 0;
- 清理缓存:删除
/data/tplcache/和/data/caches/所有文件,保留空目录。
页面空白或乱码——“白屏”或“锟斤拷”
报错现象: 首页白屏,或出现“???”、“锟斤拷”等乱码字符。
原因分析: PHP错误被屏蔽(display_errors=Off)、模板文件编码不一致、或内存不足导致解析失败。
解决步骤:
- 白屏排查(需临时开启错误显示):
- 在网站根目录
index.php首行添加ini_set('display_errors', 1); error_reporting(E_ALL); - 刷新页面,查看具体错误信息,常见的是
Allowed memory size exhausted,则需增大PHP内存:PHP.ini中memory_limit = 128M改为256M。
- 在网站根目录
- 乱码修复:
- 确认所有PHP文件编码为UTF-8(无BOM),用Notepad++打开
/templates/default/header.htm,转为UTF-8编码保存。 - 修改
config.php中$_SC['charset'] = 'utf-8'; - 在模板头部强行声明编码:打开
header.htm,在<head>第一行添加<meta charset="UTF-8">。
- 确认所有PHP文件编码为UTF-8(无BOM),用Notepad++打开
伪静态规则不生效——“404 Not Found”
报错现象: 访问/book/1.html返回404,而/book.php?aid=1正常。
原因分析: web服务器未正确加载伪静态规则,或.htaccess(Apache)/nginx配置与服务器环境冲突。
解决步骤:
- Apache环境:
- 确保网站根目录有
.htaccess为杰奇自带规则(可前往官方下载)。 - 检查httpd.conf是否开启了
AllowOverride All,否则.htaccess不生效。
- 确保网站根目录有
- Nginx环境:
- 在
/usr/local/nginx/conf/vhost/你的域名.conf中添加规则:location / { if (!-e $request_filename) { rewrite ^/book/(\d+).html$ /book.php?aid=$1 last; rewrite ^/chapter/(\d+).html$ /chapter.php?aid=$1 last; } } - 重启Nginx:
nginx -s reload。
- 在
- 清除缓存后测试,并检查URL中是否包含网站二级目录:如有,需在规则前加目录前缀。
采集模块报错——“采集规则不匹配”或“采集超时”
报错现象: 后台“采集管理”运行30分钟后超时,或采集到的章节内容全是乱码、标签。
原因分析: 目标网站改版导致规则失效、采集超时时间设置过短、或采集进程被服务器限制。
解决步骤:
- 修改PHP最大执行时间:在config.php中添加
set_time_limit(0);或PHP.ini中max_execution_time = 300。 - 优化采集规则:
- 进入后台“采集规则->自定义规则”,用浏览器开发者工具(F12)抓取目标网站的实际HTML结构。
- 将
<div class="content">等选择器替换为新标签,示例:#content→.article-text。
- 分批次采集:在“采集任务”中将单次数量从100改为20,避免一次加载过多。
- 启用cURL代理:若采集不到数据,在
/lib/curl.class.php中$this->setOpt(CURLOPT_PROXY, "http://代理IP:端口");(需自备代理)。
运维老手的忠告: 杰奇CMS最省钱的维护,是养成“先备份、后操作”的习惯,每周用mysqldump -u root -p novel > /backup/novel.sql备份数据库,用tar -czf backup.tar.gz /www/novel/备份整站,遇到问题先查/data/log/下的系统日志,90%的故障都逃不过那两个文件,别问我怎么知道的,被采集站整怕了的老蜘蛛都懂。



发表评论