前言

使用独角数卡这套发卡系统一段时间,虽然没成交几单,但系统倒是折腾了好几遍o(╯□╰)o。在折腾过程中遇到了一些问题也摸索了一些解决途径,记录分享如下,给一样有需要的小白,其他高深的咱也不会。

redis密码

本来redis默认都是空密码的,但某些程序需要设置密码,如宝塔邮局的反垃圾邮件模块,不设置redis密码无法通过环境校验。然而在宝塔上设置的redis密码重启redis后就失效了……此时就会造成一些混乱。

在其他程序中,一般空密码都会设置为 null ,就如这样:

1
2
3
4
# redis配置
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

如果你以为独角数卡也这样那你就错了……独角数卡需要留空,否则就会影响后面所有的功能,折腾得你死去活来。

1
2
3
4
# redis配置
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=
REDIS_PORT=6379
  • 怎么设置永久密码?

在redis安装目录,找到配置文件 redis.conf,宝塔安装的那位置应该就在:/www/server/redis/redis.conf,在里面找到 # requirepass foobared,删除注释改为自己的密码即可,如:

1
requirepass foobared

保存退出,redis 重启或重载配置,其他对应程序也需要同步修改对应redis密码后重载或重启。

宝塔进程守护

独角数卡的官方wiki文档中,推荐使用 堡塔应用管理器 或者 supervisor ,aapanel 里只有 supervisor ,在启动命令中官方指定:

1
/www/server/php/74/bin/php /www/wwwroot/dujiaoka/artisan queue:work

这个指定的PHP位置为源文件,大家安装的可能不一样,其实指向系统路径更通用:

1
/usr/bin/php /www/wwwroot/dujiaoka/artisan queue:work

这样就不会受之后的升级等更换版本等影响,可以看下自己系统中PHP的位置:

1
2
3
4
root@1l:~# whereis php
php: /usr/bin/php
root@1l:~# file /usr/bin/php
/usr/bin/php: symbolic link to /www/server/php/74/bin/php

PS:如果前面的redis对接不成功,这里的守护实例也是启动不了的。

系统设置无法保存

独角数卡的这个设计就比较坑,而且系统设置第一个tab页内容要先设置,如果没设置后面的设置都没法保存。系统设置中的数据是保存在redis缓存中的,并没有输出到配置文件或者数据库,如果搬家就得全部重来一遍。如果出现了死活无法保存,检查redis对接设置。

SMTP发信

发信设置属于系统设置中的一部分,所以跟redis息息相关,设置修改提交后需要在 supervisor 中重启守护实例后生效,否则会出现不发送或者发送内容和设置不一致的问题。

1
2
3
4
5
6
// 邮件数据
$mailData = [
'created_at' => $order->create_at,
'product_name' => $order->goods->gd_name,
'webname' => dujiaoka_config_get('text_logo', '独角数卡'), //取不到配置就用默认值
'weburl' => config('app.url') ?? 'http://dujiaoka.com',

如果用的QQ邮箱发信,虽然马化腾告诉你可以用 465 或者 587 端口发信,实测告诉咱 587 是用来扇脸的。

自带安装程序清空数据库

当网站根目录下删除 install.lock 后,访问首页将会默认进入独角数卡的安装环节,此安装步骤会将数据库清空,所以做此步骤前请务必备份数据库,安装完成后再导入数据库恢复数据。

后台无法访问报 500 错误

基本上是数据库连接不上了,检查 MySQL 和 redis 状态,以及网站文件夹权限,redis 相关设置参考前文。

登录弹 0 error

检查下是不是启用了 https ,使用 https 需要在 .env 中添加相应配置:

1
2
3
# 后台登录地址
ADMIN_ROUTE_PREFIX=/admin
ADMIN_HTTPS=true //添加这行配置就可以了