常见问题
❓ 常见问题
遇到问题?来这里找找答案~
部署相关问题
Section titled “部署相关问题”Q1: Toolbox 支持哪些 PHP 版本?
Section titled “Q1: Toolbox 支持哪些 PHP 版本?”- 最低要求:PHP >= 7.4
- 推荐版本:PHP 8.0 或更高版本
- 必需扩展:fileinfo、PDO、mbstring
- 可选扩展:Redis(用于缓存)
Q2: 安装时提示缺少扩展怎么办?
Section titled “Q2: 安装时提示缺少扩展怎么办?”-
在
php.ini中启用对应扩展:extension=fileinfoextension=pdo_mysql -
重启 PHP-FPM 或 Web 服务器
-
使用
php -m命令查看已加载的扩展
Q3: 如何配置伪静态规则?
Section titled “Q3: 如何配置伪静态规则?”Nginx:
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; }}Apache:
项目自带的 .htaccess 文件已包含伪静态规则。
宝塔面板:
在站点设置中选择 thinkphp 伪静态规则。
Q4: Docker 部署和手动部署有什么区别?
Section titled “Q4: Docker 部署和手动部署有什么区别?”| 部署方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Docker | 一键启动,环境隔离 | 需要 Docker 知识 | 快速体验、开发测试 |
| 手动部署 | 更灵活,可自定义 | 配置较复杂 | 生产环境 |
使用相关问题
Section titled “使用相关问题”Q5: 如何添加自定义工具?
Section titled “Q5: 如何添加自定义工具?”- 在
plugin/目录下创建新的工具目录 - 编写
App.php和index.html文件 - 参考现有工具的结构和代码规范
- 详细步骤见 插件开发文档
Q6: 内置工具可以禁用吗?
Section titled “Q6: 内置工具可以禁用吗?”可以!操作步骤:
- 登录后台管理
- 找到”工具管理”或”插件管理”
- 取消勾选不需要的工具即可隐藏
- 禁用后工具不会在前台显示,但文件不会被删除
Q7: 如何修改网站标题和 Logo?
Section titled “Q7: 如何修改网站标题和 Logo?”- 登录后台 → 系统配置
- 修改”网站标题”和”网站副标题”
- Logo 文件替换
public/static/images/logo.png - 支持自定义 CSS 样式覆盖
Q8: 用户数据存储在哪里?
Section titled “Q8: 用户数据存储在哪里?”- 数据库:MySQL 存储用户配置、工具设置
- 文件系统:
runtime/目录存储缓存和日志 - 部分插件:可能使用自己的数据表或文件存储数据
开发相关问题
Section titled “开发相关问题”Q9: 插件开发需要什么技术栈?
Section titled “Q9: 插件开发需要什么技术栈?”- 后端:PHP(ThinkPHP 6 框架)
- 前端:HTML + Vue.js + Layui
- 数据库:MySQL
- 其他:了解插件系统的钩子机制
Q10: 如何调试插件?
Section titled “Q10: 如何调试插件?”-
开启调试模式:
# 修改 .env 文件APP_DEBUG = true -
查看日志:
runtime/log/ -
使用浏览器的开发者工具调试前端代码
Q11: 插件可以访问数据库吗?
Section titled “Q11: 插件可以访问数据库吗?”可以!通过 ThinkPHP 的 Db 类或模型:
use think\facade\Db;
// 查询数据$data = Db::name('table_name')->where('id', 1)->find();
// 插入数据Db::name('table_name')->insert(['name' => 'test']);注意:
- 建议使用插件独立的数据表前缀
- 注意 SQL 注入防护,使用参数绑定
Q12: 如何分享自己开发的插件?
Section titled “Q12: 如何分享自己开发的插件?”- 打包插件目录为 zip 文件
- 编写插件说明文档(README.md)
- 发布到 GitHub 或其他代码托管平台
- 分享给社区用户手动安装
工具使用问题
Section titled “工具使用问题”Q13: 工具的数据会保存在服务器吗?
Section titled “Q13: 工具的数据会保存在服务器吗?”- 大部分工具:数据仅在浏览器端处理,不会上传到服务器
- 部分工具:如短链接、图床等会存储在服务器
- 具体说明:请查看各工具的隐私说明
性能优化问题
Section titled “性能优化问题”Q14: 如何开启 Redis 缓存?
Section titled “Q14: 如何开启 Redis 缓存?”- 安装 Redis 扩展和服务器
- 在
.env文件中配置 Redis 连接信息:CACHE_TYPE = redisREDIS_HOST = 127.0.0.1REDIS_PORT = 6379 - ThinkPHP 会自动使用 Redis 作为缓存驱动
Q15: 网站访问速度慢怎么办?
Section titled “Q15: 网站访问速度慢怎么办?”- 开启 Redis 缓存
- 使用 CDN 加速静态资源
- 优化数据库查询:添加索引、优化 SQL
- 启用 OPCache:加速 PHP 执行
Q16: 如何备份 Toolbox 数据?
Section titled “Q16: 如何备份 Toolbox 数据?”数据库备份:
mysqldump -u root -p toolbox > backup.sql文件备份:
tar -czf toolbox_backup.tar.gz /var/www/toolbox配置文件备份:
单独备份 .env 文件
Q17: 如何升级 Toolbox 到新版本?
Section titled “Q17: 如何升级 Toolbox 到新版本?”- 备份现有数据和文件
- 下载新版本覆盖(保留
.env和runtime/) - 运行数据库升级脚本(如有)
- 清除缓存
安全相关问题
Section titled “安全相关问题”Q18: 如何保证后台安全?
Section titled “Q18: 如何保证后台安全?”- 使用强密码(定期更换)
- 登录时使用图形验证码
- 不要将后台账号密码告知他人
- 建议定期查看登录日志
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 等高危权限
其他建议:
- 使用独立的数据库用户,不要和系统其他应用共用
- 定期更换数据库密码
安装时显示 500 错误
Section titled “安装时显示 500 错误”可能原因:
- PHP 版本不符合要求
- 缺少必要的扩展(fileinfo、pdo_mysql)
.env文件不存在或配置错误runtime目录没有写入权限
解决方法:
# 检查 PHP 版本php -v
# 检查扩展php -m | grep fileinfo
# 设置权限chmod -R 777 runtime/数据库连接失败
Section titled “数据库连接失败”检查清单:
- 数据库服务是否运行
- 用户名密码是否正确
- 数据库用户是否有权限访问该数据库
- 防火墙是否放行 3306 端口
伪静态不生效
Section titled “伪静态不生效”检查清单:
- Web 服务器是否启用 rewrite 模块
- 伪静态规则是否正确
- 运行目录是否指向 public
Nginx 检查:
nginx -tApache 检查:
apachectl configtest🤔 还有其他问题?
欢迎到 GitHub Issues 提问,或者查看官方文档~