签入版本
This commit is contained in:
@@ -240,9 +240,9 @@ lsof -i :8000
|
||||
php artisan serve --port=8080
|
||||
```
|
||||
|
||||
### 6. 验证码接口报"验证码服务不可用"
|
||||
### 6. 验证码接口报"缓存服务(Redis)连接失败"
|
||||
|
||||
Redis 未启动或密码不匹配(`.env` 中 `REDIS_PASSWORD` 与 Redis 实际 `requirepass` 不一致)。验证:
|
||||
Redis 未启动或密码不匹配(`.env` 中 `REDIS_PASSWORD` 与 Redis 实际 `requirepass` 不一致),接口返回「缓存服务(Redis)连接失败,请检查 Redis 配置(地址、端口、密码)后重试」,真实原因见日志 `验证码写入 Redis 失败`。验证:
|
||||
|
||||
```bash
|
||||
redis-cli ping # 输出 PONG
|
||||
|
||||
@@ -230,7 +230,7 @@ netstat -an | findstr ":6379" # 应看到 127.0.0.1:6379 LIS
|
||||
### 设置密码(实际踩坑记录)
|
||||
|
||||
:::warning
|
||||
Redis 无密码直连可用;一旦在 Redis 侧设置了 `requirepass` 而 `.env` 未同步,Laravel 所有 Redis 操作(验证码、JWT 会话、限流)会全部失败,且 CaptchaService 的 catch 会把真实错误吞掉,只报「验证码生成失败 / 验证码服务不可用」。
|
||||
Redis 无密码直连可用;一旦 Redis 侧设置了 `requirepass` 而 `.env` 未同步(或 `.env` 配了 `REDIS_PASSWORD` 而 Redis 侧没设密码),Laravel 所有 Redis 操作(验证码、JWT 会话、限流)会全部失败。验证码接口此时返回「缓存服务(Redis)连接失败,请检查 Redis 配置(地址、端口、密码)后重试」,真实错误(如 `ERR AUTH ...`)记录在日志 `验证码写入 Redis 失败` 中。
|
||||
:::
|
||||
|
||||
处理步骤(缺一不可):
|
||||
@@ -281,7 +281,7 @@ $PHP_HOME\php.exe artisan tinker --execute="try { \Illuminate\Support\Facades\Re
|
||||
|------|------|------|
|
||||
| `/` 正常,`/api/*` 返回 Apache 原生 HTML 404 | vhost 缺 `<Directory>` 块,`.htaccess` 被忽略 | 补 `AllowOverride All` 块,`httpd -t` 后重启 Apache |
|
||||
| `Class "Redis" not found` | PHP 缺 redis 扩展 | 装 `php_redis.dll` + `php.ini` 加 `extension=redis` |
|
||||
| 验证码生成失败 / 服务不可用 | Redis 密码不匹配或服务未启(日志里真实错误被 catch 吞掉) | `.env` 配 `REDIS_PASSWORD`,tinker 单测 Redis 连通 |
|
||||
| 验证码接口返回「缓存服务(Redis)连接失败…」 | Redis 密码不匹配或服务未启 | 日志搜 `验证码写入 Redis 失败` 看真实错误;`.env` 配 `REDIS_PASSWORD`,tinker 单测 Redis 连通 |
|
||||
| artisan/pint 报 requires PHP >= 8.3 | shell PATH 的 php 是旧版 | 用 `$PHP_HOME\php.exe` 完整路径调用 |
|
||||
| `httpd -k restart` 报 No installed service | Apache 未注册 Windows 服务 | `taskkill` 后重新启动 `httpd.exe` |
|
||||
| 改了配置 / 扩展不生效 | mod_php 常驻不热加载 | 必须重启 Apache |
|
||||
|
||||
Reference in New Issue
Block a user