🌸
💫
跳转到内容
非官方中文文档 彩虹工具箱

常见问题

❓ 常见问题

遇到问题?来这里找找答案~

  • 最低要求:PHP >= 7.4
  • 推荐版本:PHP 8.0 或更高版本
  • 必需扩展:fileinfo、PDO、mbstring
  • 可选扩展:Redis(用于缓存)

Q2: 安装时提示缺少扩展怎么办?

Section titled “Q2: 安装时提示缺少扩展怎么办?”
  1. php.ini 中启用对应扩展:

    extension=fileinfo
    extension=pdo_mysql
  2. 重启 PHP-FPM 或 Web 服务器

  3. 使用 php -m 命令查看已加载的扩展

Nginx:

location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

Apache: 项目自带的 .htaccess 文件已包含伪静态规则。

宝塔面板: 在站点设置中选择 thinkphp 伪静态规则。

Q4: Docker 部署和手动部署有什么区别?

Section titled “Q4: Docker 部署和手动部署有什么区别?”
部署方式优点缺点适用场景
Docker一键启动,环境隔离需要 Docker 知识快速体验、开发测试
手动部署更灵活,可自定义配置较复杂生产环境
  1. plugin/ 目录下创建新的工具目录
  2. 编写 App.phpindex.html 文件
  3. 参考现有工具的结构和代码规范
  4. 详细步骤见 插件开发文档

可以!操作步骤:

  1. 登录后台管理
  2. 找到”工具管理”或”插件管理”
  3. 取消勾选不需要的工具即可隐藏
  4. 禁用后工具不会在前台显示,但文件不会被删除
  1. 登录后台 → 系统配置
  2. 修改”网站标题”和”网站副标题”
  3. Logo 文件替换 public/static/images/logo.png
  4. 支持自定义 CSS 样式覆盖
  • 数据库:MySQL 存储用户配置、工具设置
  • 文件系统runtime/ 目录存储缓存和日志
  • 部分插件:可能使用自己的数据表或文件存储数据
  • 后端:PHP(ThinkPHP 6 框架)
  • 前端:HTML + Vue.js + Layui
  • 数据库:MySQL
  • 其他:了解插件系统的钩子机制
  1. 开启调试模式:

    # 修改 .env 文件
    APP_DEBUG = true
  2. 查看日志:

    runtime/log/
  3. 使用浏览器的开发者工具调试前端代码

可以!通过 ThinkPHP 的 Db 类或模型:

use think\facade\Db;
// 查询数据
$data = Db::name('table_name')->where('id', 1)->find();
// 插入数据
Db::name('table_name')->insert(['name' => 'test']);

注意

  • 建议使用插件独立的数据表前缀
  • 注意 SQL 注入防护,使用参数绑定
  1. 打包插件目录为 zip 文件
  2. 编写插件说明文档(README.md)
  3. 发布到 GitHub 或其他代码托管平台
  4. 分享给社区用户手动安装

Q13: 工具的数据会保存在服务器吗?

Section titled “Q13: 工具的数据会保存在服务器吗?”
  • 大部分工具:数据仅在浏览器端处理,不会上传到服务器
  • 部分工具:如短链接、图床等会存储在服务器
  • 具体说明:请查看各工具的隐私说明
  1. 安装 Redis 扩展和服务器
  2. .env 文件中配置 Redis 连接信息:
    CACHE_TYPE = redis
    REDIS_HOST = 127.0.0.1
    REDIS_PORT = 6379
  3. ThinkPHP 会自动使用 Redis 作为缓存驱动
  1. 开启 Redis 缓存
  2. 使用 CDN 加速静态资源
  3. 优化数据库查询:添加索引、优化 SQL
  4. 启用 OPCache:加速 PHP 执行

数据库备份:

Terminal window
mysqldump -u root -p toolbox > backup.sql

文件备份:

Terminal window
tar -czf toolbox_backup.tar.gz /var/www/toolbox

配置文件备份: 单独备份 .env 文件

  1. 备份现有数据和文件
  2. 下载新版本覆盖(保留 .envruntime/
  3. 运行数据库升级脚本(如有)
  4. 清除缓存
  • 使用强密码(定期更换)
  • 登录时使用图形验证码
  • 不要将后台账号密码告知他人
  • 建议定期查看登录日志

Q19: 使用图床工具上传图片安全吗?

Section titled “Q19: 使用图床工具上传图片安全吗?”
  • 图床工具使用第三方图床 API(如百度、58 同城等)
  • 图片直接上传到第三方平台,不存储在本地服务器
  • 请勿上传敏感或违法图片
  • 建议定期清理不再使用的图片链接

Q20: 数据库账号应该给什么权限?

Section titled “Q20: 数据库账号应该给什么权限?”

建议遵循最小权限原则

-- 只授予必要权限
GRANT SELECT, INSERT, UPDATE, DELETE ON toolbox.* TO 'toolbox'@'localhost';
  • 需要:SELECT、INSERT、UPDATE、DELETE
  • 不需要:DROP、ALTER 等高危权限

其他建议

  • 使用独立的数据库用户,不要和系统其他应用共用
  • 定期更换数据库密码

可能原因:

  1. PHP 版本不符合要求
  2. 缺少必要的扩展(fileinfo、pdo_mysql)
  3. .env 文件不存在或配置错误
  4. runtime 目录没有写入权限

解决方法:

Terminal window
# 检查 PHP 版本
php -v
# 检查扩展
php -m | grep fileinfo
# 设置权限
chmod -R 777 runtime/

检查清单:

  • 数据库服务是否运行
  • 用户名密码是否正确
  • 数据库用户是否有权限访问该数据库
  • 防火墙是否放行 3306 端口

检查清单:

  • Web 服务器是否启用 rewrite 模块
  • 伪静态规则是否正确
  • 运行目录是否指向 public

Nginx 检查:

Terminal window
nginx -t

Apache 检查:

Terminal window
apachectl configtest

🤔 还有其他问题?

欢迎到 GitHub Issues 提问,或者查看官方文档~